1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Gremlin78

Beiträge von Gremlin78

  • Schleifenabbruch nur über HotKey möglich

    • Gremlin78
    • 15. Mai 2025 um 08:13

    Oh, wow. Danke für deine Mühe mir nicht nur durch Code zu helfen, sondern auch das wie und warum zu erklären. Tausend Dank dafür.

    Gruß

  • Schleifenabbruch nur über HotKey möglich

    • Gremlin78
    • 15. Mai 2025 um 06:53

    Hallo zusammen,

    wie im Header bereits erwähnt, bekomme ich meine Routine nur über die HotKey Variante gestoppt, nicht über das Menü oder einen Button. Leider habe ich nicht die leiseste Ahnung, warum das so nicht möglich ist. Vielleicht findet jemand von Euch meinen Fehler, danke im Vorraus.

    AutoIt
    #include <GUIConstants.au3>
    
    HotKeySet('{F10}','_startRoutine')
    HotKeySet('{F11}','_stopRoutine')
    
    Global Const $GUI = GUICreate('Test',300,150, -1, -1, $WS_SYSMENU,$WS_EX_TOPMOST)
    Global $gm_Menu = GUICtrlCreateMenu("Steuerung")
    Global $gm_Menu_run =  GUICtrlCreateMenuItem("Programm starten",$gm_Menu)
    Global $gm_Menu_stop =  GUICtrlCreateMenuItem("Programm stoppen",$gm_Menu)
    GUICtrlCreateMenuItem("", $gm_Menu, 3)
    Global $gm_Menu_exit =  GUICtrlCreateMenuItem("Beenden",$gm_Menu)
    Global $gB_Button1 = GUICtrlCreateButton ("Stopp", 10, 50,60,30)
    Global $gL_Label1 = GUICtrlCreateLabel("Zeit",10,10,100,20,1,5)
    Global $stop = false
    GUISetState(@SW_SHOW, $GUI)
    While 1
    	Switch GUIGetMsg()
    		Case -3,$GUI_EVENT_CLOSE,$gm_Menu_exit
    			GUIDelete()
    			Exit
    		Case $gm_Menu_run
    			_startRoutine()
    		Case $gm_Menu_stop,$gB_Button1
    			_stopRoutine()
    	EndSwitch
    WEnd
    
    Func _startRoutine()
    	While $stop = false
    		For $i = 0 to 60
    			GUICtrlSetData($gL_Label1,$i)
    			Sleep(1000)
    			If $stop = True then ExitLoop
    		Next
    	WEnd
    	;
    EndFunc
    
    Func _stopRoutine()
    	$stop = true
    	;MsgBox(-1,"Abbruch","Ablauf gestoppt",2)
    EndFunc
    Alles anzeigen

    Gruß

  • Grafik in exe

    • Gremlin78
    • 7. Mai 2020 um 07:35

    Hallo,

    ich nutze ganz gern die Möglichkeit mir Icons aus .dll-Dateien zu holen, entweder aus den Standard Dateien von Windows (shell32.dll, imageres.dll,...) oder erstelle mir mit ResourceHacker eine eigene.

    Damit kommst du dann wieder an die Bilder ran:

    AutoIt
    GuiCtrlSetImage(-1,"shell32.dll",14)

    Gruß Gremlin78

  • TreeViewItems als Array

    • Gremlin78
    • 9. April 2020 um 14:36

    Super,

    auch sehr gute Möglichkeiten, danke.

  • TreeViewItems als Array

    • Gremlin78
    • 9. April 2020 um 12:15

    Fantastisch,

    vielen Dank.

  • TreeViewItems als Array

    • Gremlin78
    • 9. April 2020 um 12:00

    Hallo Leute,

    ich möchte aus einem TreeView die Namen der Items zurückgegeben bekommen. Da es sehr viele sind und ich sie alle einzeln abfragen möchte, dachte ich mir, dass es vielleicht mit einem Array gehen könnte. Dieser Code ist nur als Beispiel gedacht:

    Spoiler anzeigen
    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <GUITreeView.au3>
    #include <WindowsConstants.au3>
    
    Example_Tree()
    Func Example_Tree()
        GUICreate("My test treeview GUI", 350, 210)
        Local $idTreeview = GUICtrlCreateTreeView(5, 5, 340, 200)
        Local $idTreeview1 = GUICtrlCreateTreeViewItem("#1",$idTreeview)
        Local $idTreeview2 = GUICtrlCreateTreeViewItem("#2",$idTreeview)
        Local $idTreeview3 = GUICtrlCreateTreeViewItem("#3",$idTreeview)
        Local $idTreeviewArray[4]
        $idTreeviewArray[0] = GUICtrlCreateTreeViewItem("#1.1",$idTreeview1)
        $idTreeviewArray[1] = GUICtrlCreateTreeViewItem("#1.2",$idTreeview1)
        $idTreeviewArray[2] = GUICtrlCreateTreeViewItem("#2.1",$idTreeview2)
        $idTreeviewArray[3] = GUICtrlCreateTreeViewItem("#2.2",$idTreeview2)
        GUICtrlSetState($idTreeview2, BitOR($GUI_EXPAND, $GUI_DEFBUTTON))
        GUISetState(@SW_SHOW)
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
                Case $idTreeviewArray[3]
                    MsgBox(0,"you pressed",_GUICtrlTreeView_GetText($idTreeview))
            EndSwitch
        WEnd
    EndFunc
    Alles anzeigen

    :/ Leider bisher ohne Erfolg, weshalb ich nun um Eure Unterstützung bitte.

    Beste Grüße, Gremlin

  • Maximieren Button "missbrauchen"?

    • Gremlin78
    • 29. November 2016 um 15:22

    Vielen Dank Zeitriss,
    die Lösung gefällt mir vorerst am besten.
    :klatschen:
    Trotzdem noch mal Danke an alle.
    :thumbup:
    MfG Gremlin

  • Maximieren Button "missbrauchen"?

    • Gremlin78
    • 29. November 2016 um 14:13

    Vielen Dank BugFix für dein Beispiel,
    da muss ich mich aber erstmal durchkämpfen.

    MfG Gremlin

  • Maximieren Button "missbrauchen"?

    • Gremlin78
    • 29. November 2016 um 13:59

    Vielen Dank chip,
    die einfachste Lösung. Bei umfangreicheren Scripts ploppt allerdings das maximierte GUI noch hoch, ist aber recht schnell wieder weg.

    MfG Gremlin

  • Maximieren Button "missbrauchen"?

    • Gremlin78
    • 29. November 2016 um 13:25

    Per Hook? Wie funktioniert das?
    Hab in der Hilfe die Funktion: "_WinAPI_SetWindowsHookEx()" gefunden, die wohl dafür nötig ist, werde aber aus dem Beispiel nicht schlau.

    MfG Gremlin

  • Maximieren Button "missbrauchen"?

    • Gremlin78
    • 29. November 2016 um 09:44

    Hallo Leute,

    ist es möglich die Buttons in der Titelleiste andersweitig zu verwenden (z.B. zum minimieren in den Infobereich oder für einen Hilfeaufruf).

    C
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    _test()
    Func _test()
    	Local $gui = GUICreate('Test',300,200,-1,-1,BitOR($WS_MINIMIZEBOX,$WS_MAXIMIZEBOX))
    	Local $pos
    	GUISetState()
    	While 1
    		Switch GUIGetMsg()
    
    
    		Case -3
    			Exit
    		Case $GUI_EVENT_MAXIMIZE
    			$pos=WinGetPos($gui)
    			WinMove($gui,'',$pos[0],$pos[1],300,200)
    			MsgBox($MB_SYSTEMMODAL,'Achtung','Hier wird eine Funktion eingefügt')
    		EndSwitch
    	WEnd
    EndFunc
    Alles anzeigen

    Leider wird immer noch das Fenster maximiert, und erst danach die Größe angepasst.

    Gruß Gremlin

  • ListView Drag&Drop und WM_NOTIFY

    • Gremlin78
    • 23. November 2016 um 13:39

    Vielen Dank Kanashius,
    Du bist Spitze. Es funktioniert 1A.
    Ich hatte die Funktion in der GUIListViewEx UDF gefunden und dachte ich muss die WM_NOTIFY-Funktion gegen diese ersetzen, aber das hatte leider auch nicht funktioniert. Darauf, dass sie mit eingebunden werden muss wäre ich nicht gekommen.

    Nochmals Danke,
    Gruß Gremlin

  • ListView Drag&Drop und WM_NOTIFY

    • Gremlin78
    • 23. November 2016 um 09:24

    Hallo Leute,
    ich muss nochmal mein Beispiel-Script aufgreifen, da sich ein neues Problem ergeben hat.
    Ich wollte gern die Doubleclick-Funktion von ChaosKeks verwenden und musste leider feststellen, dass dadurch leider kein Drag&Drop im ListView mehr möglich ist.

    Spoiler anzeigen
    C
    #include <GUIConstantsEx.au3>
    #include <GUIListViewEx.au3>
    #include <WindowsConstants.au3>
    Global $idListView
    Example()
    Func Example()
    	Local $hGUI=GUICreate("listview items", 250, 300, -1, -1)
    	$idListview = GUICtrlCreateListView("col_1 |col_2|col_3 ", 0, 0, 250, 260)
    	Local $idButton = GUICtrlCreateButton("add entry", 10, 270, 230, 20)
    	$i = 1
    	GUISetState(@SW_SHOW)
    	_GUIListViewEx_MsgRegister()
    	Local $idLV = _GUIListViewEx_Init($idListview, '', 0, 0, True)
    	GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    	While 1
    		Switch GUIGetMsg()
    			Case $GUI_EVENT_CLOSE
    				ExitLoop
    			Case $idButton
    				_GUIListViewEx_Close($idLV)
    				GUICtrlCreateListViewItem("item_1_"&$i&"|item_2_"&$i&"|item_3_"&$i, $idListview)
    				$idLV = _GUIListViewEx_Init($idListview, '', 0, 0, True)
    				$i=$i+1
    		EndSwitch
    	WEnd
    EndFunc   ;==>Example
    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam) ;<================== Benachrichtigung Doppelklick (Original from Chaoskeks [in ChaosExecution])
    	Local $tagNMHDR = "hwnd hWndFrom;uint_ptr IDFrom;INT Code"
    	Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    	Local $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    	Local $iCode = DllStructGetData($tNMHDR, "Code")
    	$tagNMHDR = DllStructCreate("int;int;int", $lParam)
    	If @error Then Return 0
    	Local $Ycode = DllStructGetData($tagNMHDR, 3)
    	If $wParam = $idListView Then
    		Select
    			Case $hWndFrom = GUICtrlGetHandle($idListView)
    				Select
    					Case $iCode = $NM_DBLCLK
    						If _GUICtrlListView_GetSelectedCount($idListView) > 0 Then
    							For $i = 0 To _GUICtrlListView_GetItemCount($idListView)
    								If _GUICtrlListView_GetItemSelected($idListView, $i) Then
    									$aItem = _GUICtrlListView_GetItemTextArray($idListView, $i)
    									MsgBox(0, 'Beispiel', $aItem[1] & @CRLF & $aItem[2]& @CRLF& $aItem[3])
    								EndIf
    							Next
    						EndIf
    				EndSelect
    		EndSelect
    	EndIf
    	Return $GUI_RUNDEFMSG
    	$tagNMHDR = 0
    	$lParam = 0
    EndFunc   ;==>WM_NOTIFY
    Alles anzeigen


    Hat jemand ne Idee, wo mein Fehler liegt?
    Grüße Gremlin

    Dateien

    GUIListViewEx.au3 210,3 kB – 427 Downloads
  • Absturz ListView-Bewegung

    • Gremlin78
    • 20. Oktober 2016 um 11:41

    Vielen Dank Oscar,
    das ist die Lösung. Mir hat leider der Durchblick in der UDF gefehlt.

    Nochmals vielen Dank.

    MfG Gremlin

  • Absturz ListView-Bewegung

    • Gremlin78
    • 20. Oktober 2016 um 09:16

    Sorry,
    so hängt nun am 1. Beitrag an.

    MfG Gremlin

  • Absturz ListView-Bewegung

    • Gremlin78
    • 20. Oktober 2016 um 07:27

    Hallo Leute,
    wenn ich in meiner ListView-Ansicht Einträge verschieben möchte, funktioniert das, bis ich einen neuen Eintrag hinzufüge.
    Danach stürzt das Programm leider beim Verschieben ab.
    Warum? Wo liegt mein Fehler?
    Hier ein Beispiel-Script:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <GUIListViewEx.au3>
    Example()
    Func Example()
    GUICreate("listview items", 220, 250, 100, 200)
    Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 200)
    Local $idItem1 = GUICtrlCreateListViewItem("item1|col12|col13", $idListview)
    Local $idItem2 = GUICtrlCreateListViewItem("item2|col22|col23", $idListview)
    Local $idItem3 = GUICtrlCreateListViewItem("item3|col32|col33", $idListview)
    Local $idButton= GUICtrlCreateButton("1 more",10,220,200,20)
    GUISetState(@SW_SHOW)
    _GUIListViewEx_MsgRegister()
    _GUIListViewEx_Init($idListview,0,0,0,TRUE)
    While 1
       Switch GUIGetMsg()
          Case $GUI_EVENT_CLOSE
             ExitLoop
          Case $idButton
             GUICtrlCreateListViewItem("item4|col42|col43", $idListview)
             _GUIListViewEx_Init($idListview,0,0,0,TRUE)
       EndSwitch
    WEnd
    EndFunc ;==>Example
    Alles anzeigen


    MfG Gremlin

    Dateien

    GUIListViewEx.au3 210,3 kB – 402 Downloads
  • Link in Statusbar

    • Gremlin78
    • 22. September 2016 um 11:29

    Vielen Dank für eure Anworten,
    sehr nette Funktion BugFix.
    Nochmals vielen Dank.

    MfG Gremlin78

  • Link in Statusbar

    • Gremlin78
    • 20. September 2016 um 21:14

    Hallo,

    gibt es eine Möglichkeit einen Hyperlink (z.B. zur Webseite) in der Statusleiste zu plazieren?

    Gruß Gremlin

  • exe icon als Bild auf GUI

    • Gremlin78
    • 3. September 2015 um 21:12

    Vielen Dank nochmals,
    #pragma war mir bisher unbekannt, funktioniert alles super.
    Endlich der große Erfolg.
    Gruß Gremlin

  • exe icon als Bild auf GUI

    • Gremlin78
    • 31. August 2015 um 20:20

    Wow, Danke. Das klappt.
    Noch ne zweite Frage, wenn ich eine 32 und eine 64 bit Variante erstellen lasse, erhält nur die 32 bit Version das eingebundene Icon.
    Ist es auch möglich die 64er Version mit dem Icon zu versehen?
    Gruß Gremlin

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™