Ihr seid Helden
Wie steht es mit den Anderen Fragen?
Beiträge von Jam00
-
-
Was ist Expand?
-
Wie so?
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiTreeView.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>Opt("MustDeclareVars", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("GuiOnEventMode", 1)Global $gui, $hImage, $hTV, $aID_Sub[5], $ID_Table, $item
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate('Test TreeView')
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, '_end')
$hTV = GUICtrlCreateTreeView(10,10,300,150,BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, _
$TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
Global $WM_NOTIFY_DUMMY = GUICtrlCreateDummy()
GUICtrlSetOnEvent($WM_NOTIFY_DUMMY,"click_TV")$hImage = _GUIImageList_Create(16, 16, 5, 3)
[/autoit] [autoit][/autoit] [autoit]
_GUIImageList_AddIcon($hImage, "shell32.dll", 98)
_GUIImageList_AddIcon($hImage, "shell32.dll", 96)
_GUIImageList_AddIcon($hImage, "shell32.dll", 36)
_GUICtrlTreeView_SetNormalImageList($hTV, $hImage)_GUICtrlTreeView_BeginUpdate($hTV)
[/autoit] [autoit][/autoit] [autoit]
$ID_Table = _GUICtrlTreeView_Add($hTV, 0, 'Table', 0, 0)
For $i = 1 To 5
$aID_Sub[$i-1] = _GUICtrlTreeView_AddChild($hTV, $ID_Table, 'Sub' & $i, 1, 1)
For $j = 1 To 3
$item = _GUICtrlTreeView_AddChild($hTV, $aID_Sub[$i-1], 'Sub_Sub' & $j, 2, 2)
Next
Next
_GUICtrlTreeView_EndUpdate($hTV)
_GUICtrlTreeView_Expand($hTV, $ID_Table)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _end()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc click_TV()
[/autoit] [autoit][/autoit] [autoit]
Local $hTVItem = _GUICtrlTreeView_GetSelection($hTV)
Local $hParent = _GUICtrlTreeView_GetParentHandle($hTV, $hTVItem)
Local $title = ''
If $hParent Then $title = _GUICtrlTreeView_GetText($hTV,$hParent) & ' / '
WinSetTitle($gui, '', $title & _GUICtrlTreeView_GetText($hTV,$hTVItem))
EndFuncFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTreeview
$hWndTreeview = $hTV
If Not IsHWnd($hTV) Then $hWndTreeview = GUICtrlGetHandle($hTV)$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
[/autoit]
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndTreeview
Switch $iCode
Case $TVN_ITEMEXPANDING
GUICtrlSendToDummy($WM_NOTIFY_DUMMY)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFYDann geht aber Irgendwie garnix mehr
-
Okay, THX guck ich mir mal an, jetzt hab ich noch zwei Fragen:
Was muss ich bei FileFindFirstFile für einen Suchkriterienstring eingeben, damit er mir nur Ortner anzeigt?
Und wie bekomme ich die Icons vonn offenen Fenster? Das kann windows doch auch, z.B. in der TaskleisteEDIT:
Bei deinem Beispiel, Meldet der doch immer wenn man auf die TreeView klickt, ich wollte das er es merkt wenn man ein Menü aufklappt -
Hallo
Ich hab mal wieder ein Frage
Und zwar wollte ich wissen wie ich herausbekomme, wenn man in einer TreeView auf das + Zeihen drückt, also das ich das Erfahre und dann was ausführen kann
Ich wollte dann gerne einfach die Item-ID, des angeklickten Items.
Ich hab schon mal ein script gemacht^^Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("TreeView", 633, 447, 193, 125)
$TreeView1 = GUICtrlCreateTreeView(4, 4, 247, 433)
$TreeView1_0 = GUICtrlCreateTreeViewItem("Test", $TreeView1)
$TreeView1_1 = GUICtrlCreateTreeViewItem("Test", $TreeView1_0)
$TreeView1_2 = GUICtrlCreateTreeViewItem("Test2", $TreeView1)
$TreeView1_3 = GUICtrlCreateTreeViewItem("Test", $TreeView1_2)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd -
Hier, mit überrollefekt und Mausklickefekt
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>Dim $file[3]
[/autoit] [autoit][/autoit] [autoit]
$file[0] = @ScriptDir & "\Test.gif"
$file[1] = @ScriptDir & "\Test_O.gif"
$file[2] = @ScriptDir & "\Test_C.gif"
$Titel = "Test"
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate($Titel, 212, 120, 515, 423)
$Pic1 = GUICtrlCreatePic($file[0], 72, 39, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$fStatus = False
[/autoit]
Global $Sec = "61"
$fStatus = False
While 1
If $Sec <= @SEC Then
ToolTip ("")
$Sec = "61"
EndIf
_Test(_Overroll($Form2, $Pic1, "_Test"))
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Pic1
GUICtrlSetImage($Pic1, $file[2])
ToolTip ("Pic1 wurde angeklickt!")
While _IsPressed("01")
Sleep(10)
WEnd
GUICtrlSetImage($Pic1, $file[0])
$fStatus = False
_Test(_Overroll($Form2, $Pic1, "_Test"))
$Sec = @SEC +2
EndSwitch
WEnd
Func _Test($FuncArt)
If $FuncArt = "1" Then
GUICtrlSetImage($Pic1, $file[1])
ElseIf $FuncArt = "0" Then
GUICtrlSetImage($Pic1, $file[0])
EndIf
EndFunc ;==>_Test
Func _Overroll($fGui,$fObjekt,$fFunc)
Local $fPos = GUIGetCursorInfo ($fGui)
If $fPos[4] = $fObjekt Then
If $fStatus = False Then
$fStatus = True
Return "1"
EndIf
Else
If $fStatus = True Then
$fStatus = False
Return "0"
EndIf
EndIf
Return "-1"
EndFuncEDIT:
Koda ist ein Programm um sich Guis zu erstellen ohne das man alles schreiben muss! Drücke im Scite mal Alt+M oder gehe in das Menü Tool und da Koda -
Du meist ein Overroll-Efeckt?
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>Dim $file[3]
[/autoit] [autoit][/autoit] [autoit]
$file[0] = @ScriptDir & "\Test.gif"
$file[1] = @ScriptDir & "\Test_O.gif"
$file[2] = @ScriptDir & "\Test_C.gif"
$Titel = "Test"
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate($Titel, 212, 120, 515, 423)
$Pic1 = GUICtrlCreatePic($file[0], 72, 39, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$fStatus = False
[/autoit]
Global $Sec = "61"
$fStatus = False
While 1
If $Sec <= @SEC Then
ToolTip ("")
$Sec = "61"
EndIf
_Test(_Overroll($Form2, $Pic1, "_Test"))
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Pic1
GUICtrlSetImage($Pic1, $file[2])
ToolTip ("Pic1 wurde angeklickt!")
While _IsPressed("01")
Sleep(10)
WEnd
GUICtrlSetImage($Pic1, $file[0])
$fStatus = False
_Test(_Overroll($Form2, $Pic1, "_Test"))
$Sec = @SEC +2
EndSwitch
WEnd
Func _Test($FuncArt)
If $FuncArt = "1" Then
GUICtrlSetImage($Pic1, $file[1])
ElseIf $FuncArt = "0" Then
GUICtrlSetImage($Pic1, $file[0])
EndIf
EndFunc ;==>_Test
Func _Overroll($fGui,$fObjekt,$fFunc)
Local $fPos = GUIGetCursorInfo ($fGui)
If $fPos[4] = $fObjekt Then
If $fStatus = False Then
$fStatus = True
Return "1"
EndIf
Else
If $fStatus = True Then
$fStatus = False
Return "0"
EndIf
EndIf
Return "-1"
EndFunc -
Wie währe es wenn du mal ein Script postets?
Guck dir mal GuiCtrlSetImage an -
Was meinste, wie lange brauchste noch?
-
Oder so:
Spoiler anzeigen
[autoit]HotKeySet("!{t}", "_ToolTip")
[/autoit]
Global $Sec, $ToolTip
While 1
If $ToolTip = True And TimerDiff($Sec) > 5000 Then
ToolTip("")
$ToolTip = False
EndIf
WEnd
Func _ToolTip()
ToolTip("Ich verschwinde in 5000 millisekunden", 100, 100)
$ToolTip = True
$Sec = TimerInit()
EndFunc ;==>_ToolTipMusst dann Strg+T drücken!
-
Spoiler anzeigen
[autoit]$Zeit = InputBox ("Uhrzeit","Gib die Uhrzeit an, wann der Film anläuft(HH:MM:SS)",@HOUR & ":" & @MIN & ":" & @SEC)
[/autoit]
While 1
If $Zeit <= @HOUR & ":" & @MIN & ":" & @SEC Then
MsgBox (64,"Film läuft","Der Film läuft an!")
ExitLoop
EndIf
WEnd -
Wer? Ich, nein!
-
Zwei Fragen
1) Das sind nicht zufällig ein Parr zeilen von mir oder^^
2)Warum hattest du mir das in dem Terad nicht gepostet, hier? Hast du es nicht gesehen oder was?Naja, hab es ja inzwischen auch hinbekommen, ist nur ein Bischen länger^^
Zu deiner Frage,
Weiß ich nicht
Aber hiermit kann man errechen, ob sich etwas über einem Runden Objekt befindetSpoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]Func _PointInEllipse($xPt, $yPt, $xTL, $yTL, $w, $h)
[/autoit]
Local $bInside = False, $a = $w / 2, $b = $h / 2
Local $c1X, $c2X, $dist, $xc = $xTL + $a, $yc = $yTL + $b
$c1X = $xc - ($a ^ 2 - $b ^ 2) ^ (1 / 2); 1st focal point x position
$c2X = $xc + ($a ^ 2 - $b ^ 2) ^ (1 / 2); 2nd focal point x position
$dist = (($xPt - $c1X) ^ 2 + ($yPt - $yc) ^ 2) ^ 0.5 + (($xPt - $c2X) ^ 2 + ($yPt - $yc) ^ 2) ^ 0.5
If $dist <= $w Then $bInside = Not $bInside
Return $bInside
EndFunc ;==>_PointInEllipse -
Nalso einen Transparenter Ramen kann man so machen
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit]
#include <WindowsConstants.au3>
$Ramen = GUICreate ("Transparenter Ramen",400,400,400,400,$WS_POPUP)
GUISetBkColor (0x0077FF,$Ramen)
;~ GUICtrlCreatePic (@ScriptDir & "\Data\1.bmp",0,0,400,400,$WS_CLIPSIBLINGS)
GUICtrlCreateLabel ("",0,0,400,400,$WS_EX_TRANSPARENT,$GUI_WS_EX_PARENTDRAG)
GUICtrlSetBkColor (-1,$GUI_BKCOLOR_TRANSPARENT)
$Pos = WinGetPos ($Ramen)
$Innen = GUICreate("", $Pos[2] -15, $Pos[3] -35, 5,25,$WS_POPUP,$WS_EX_MDICHILD, $Ramen);
;~ GUISetBkColor (0x00FF00,$Innen)
GUISetState (@SW_SHOW,$Ramen)
GUISetState (@SW_SHOW,$Innen)
WinSetTrans ($Ramen,"",200)
_Ecken($Ramen,0,0,10,10)
GUIRegisterMsg($WM_MOVE, "_Move")
While 1
Sleep (100)
WEnd
Func _Ecken($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
Local $XS_pos, $XS_ret, $XS_ret2
$XS_pos = WinGetPos($h_win)
$XS_ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $XS_pos[2], "long", $XS_pos[3], "long", $i_x3, "long", $i_y3)
If $XS_ret[0] Then
$XS_ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $XS_ret[0], "int", 1)
EndIf
EndFunc ;==>_GuiRoundCorners
Func _Move()
GUISetState (@SW_LOCK)
GUISetState (@SW_UNLOCK)
EndFuncEDIT: Ach ja und abgerundete Ecken
-
Mach es doch so, das du auf einem FTP schon alle vergeben ID speicherts, und dann abrufts, und dann eben +1 also sagen wir mal die letze ID ist 100100100 dann rechnest du:
Spoiler anzeigen
[autoit]$Schluessel = "100100100"
[/autoit]
MsgBox (0,"",$Schluessel + 1)
Und den Wert speicherst du dann wieder auf dem FTP -
Bei mir geht das!
-
-
Hast du die denn auch im OnEventMode?
-
Mach doch einfach so:
Spoiler anzeigen
[autoit]$BAT = @TempDir & "\Temp1234.bat"
[/autoit]
FileWrite ($BAT,"powercfg /hibernate on" & @CRLF & "powercfg /setactive 0 /numerical" & @CRLF & "powercfg /change 0 /numerical /hibernate-timeout-ac 60")
Run($BAT,Default,@SW_HIDE) -
Oh, schuldigung, ahbe nicht dran gedacht!
Ähm, hier hab ich es mal ohne Drehen geacht, also das er das nicht anzeigt, und schon geht es! Nur wenn die drehung nicht angezeigt wird ist ja auch scheißeSpoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <Misc.au3>
#include <WindowsConstants.au3>_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("Test Rotate", @DesktopWidth,@DesktopHeight,0,0,$WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor (0xFFFFFF)
GUISetState()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Data\1.png")
$iWidth = _GDIPlus_ImageGetWidth($hImage) * 96 / _GDIPlus_ImageGetVerticalResolution($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage) * 96 / _GDIPlus_ImageGetHorizontalResolution($hImage)
;~ $hMatrix = _GDIPlus_MatrixCreate()
;~ _GDIPlus_MatrixTranslate($hMatrix, 500, 800)
GUIRegisterMsg($WM_PAINT, "WM_PAINT")
;~ _GDIPlus_MatrixRotate($hMatrix, 0, "False")
;~ _GDIPlus_GraphicsSetTransform($hGraphic, $hMatrix)
_GDIPlus_GraphicsClear($hGraphic,0xFFFFFFFF)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, -$iWidth / 2, -$iHeight / 2)
$X = 500
$Y = 800
$Rotate = 0
$Speed = 20
While GUIGetMsg() <> -3
ToolTip ($Rotate)
If $Rotate > 360 Then
$Rotate -=360
ElseIf $Rotate < 0 Then
$Rotate +=360
EndIf
If _IsPressed ("27") Then
$Rotate += 5
;~ _GDIPlus_MatrixRotate($hMatrix, 5, True)
_Draw($X,$Y)
ElseIf _IsPressed ("25") Then
$Rotate -= 5
;~ _GDIPlus_MatrixRotate($hMatrix, -5, True)
_Draw($X,$Y)
EndIf
If _IsPressed ("26") Then
If $Rotate <= 90 Then
$X1 = Round ($Speed / 100 * Round ($Rotate / 90 * 100,0),0)
$Xt = $X + $X1
$Yt = $Y - ($Speed - $X1)
ElseIf $Rotate <= 180 Then
$Rotate1 = $Rotate - 90
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X +($Speed - $X1)
$Yt = $Y + $X1
ElseIf $Rotate <= 270 Then
$Rotate1 = $Rotate - 180
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X - $X1
$Yt = $Y + ($Speed - $X1)
ElseIf $Rotate <= 360 Then
$Rotate1 = $Rotate - 270
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X - ($Speed - $X1)
$Yt = $Y - $X1
EndIf
_Draw($Xt,$Yt)
ElseIf _IsPressed ("28") Then
If $Rotate <= 90 Then
$X1 = Round ($Speed / 100 * Round ($Rotate / 90 * 100,0),0)
$Xt = $X - $X1
$Yt = $Y + ($Speed - $X1)
ElseIf $Rotate <= 180 Then
$Rotate1 = $Rotate - 90
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X -($Speed - $X1)
$Yt = $Y - $X1
ElseIf $Rotate <= 270 Then
$Rotate1 = $Rotate - 180
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X + $X1
$Yt = $Y - ($Speed - $X1)
ElseIf $Rotate <= 360 Then
$Rotate1 = $Rotate - 270
$X1 = Round ($Speed / 100 * Round ($Rotate1 / 90 * 100,0),0)
$Xt = $X + ($Speed - $X1)
$Yt = $Y + $X1
EndIf
_Draw($Xt,$Yt)
EndIf
Sleep(10)
WEndFunc WM_PAINT($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
;~ _GDIPlus_MatrixRotate($hMatrix, 0, "False")
;~ _GDIPlus_GraphicsSetTransform($hGraphic, $hMatrix)
_GDIPlus_GraphicsClear($hGraphic,0xFFFFFFFF)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, -$iWidth / 2, -$iHeight / 2)
EndFunc ;==>WM_PAINTFunc _Draw($Xt,$Yt)
[/autoit] [autoit][/autoit] [autoit]
$X = $Xt
$Y = $Yt
If $X < 0 Then
$X = 0
EndIf
If $X > @DesktopWidth - _GDIPlus_ImageGetWidth($hImage) Then
$X = @DesktopWidth - _GDIPlus_ImageGetWidth($hImage)
EndIf
If $Y < 0 Then
$Y = 0
EndIf
If $Y > @DesktopHeight -_GDIPlus_ImageGetHeight($hImage) Then
$Y = @DesktopHeight -_GDIPlus_ImageGetHeight($hImage)
EndIf
;~ _GDIPlus_GraphicsSetTransform($hGraphic, $hMatrix)
_GDIPlus_GraphicsClear($hGraphic,0xFFFFFFFF)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage,$X,$Y)
EndFunc;~ _GDIPlus_MatrixDispose($hMatrix)
[/autoit]
_GDIPlus_ImageDispose($hImage)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()