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. NO1 :-)

Beiträge von NO1 :-)

  • ListView und ContextMenu Problem

    • NO1 :-)
    • 9. April 2017 um 17:18

    Jo, stimmt. Vielen Dank für Eure Kritik.

    Lg NO1 :)

  • ListView und ContextMenu Problem

    • NO1 :-)
    • 9. April 2017 um 17:07

    In Zukunft verwende ich dort kein true mehr..., is ja wie bei FileExists, aber ich denke auch, dass es die Sache des Programmierers ist, wie er es handhabt. Bei Weiterverbreitung des Codes ist es sicher sinvoll, den Code möglichst kurz und sauber zu halten :) .

  • ListView und ContextMenu Problem

    • NO1 :-)
    • 9. April 2017 um 16:49

    Dankeschön für deine Antworten!

    Wenn ich wieder daheim bin, werde ich deine neue Funktion sofort testen.

    Zu deiner Aussage "Warum StringInStr benutzen": Es kann ja sein, dass durch FileGetAttrib mehrere Attribute zurückgegeben werden in einem String und dann muss man ja überprüfen, ob das Attribut "D" in dem String vorhanden ist...

    Ich skripte jetzt schon ein ganzes Jahr in AutoIt und mir ist das mit = True und der Variablendelaration bewusst. Wenn ich jetzt ein Skript nicht als UDF oder nicht für die Community schreib, dann komm ich mit den Bezeichnungen aber ziemlich gut zurecht.

    Lg NO1 :)

  • ListView und ContextMenu Problem

    • NO1 :-)
    • 9. April 2017 um 12:15

    Hallo liebe AutoIt-Community,

    es ist mir schon voll peinlich, hier wieder nach Eurer Hilfe zu fragen ?( ...
    Ich hab jetz aber schon nen halben Tag gegoogelt, hab aber nichts wirklich befriedigendes gefunden.
    Mein Problem ist, dass ich ein Listview-Control hab, in das alle Dateien eines Ordners eingefügt werden. Jetzt brauche ich für jeden Eintrag ein eigenes ContextMenu, so wies auch im Explorer ist.
    Jedoch weiß ich nicht, wie ich das bewerkstelligen soll. Im Beispiel unten hab ich mal 2 Kontextmenüs, 1 für Ordner und eins für Dateien, jedoch wird nur manchmal das Richtige angezeigt.

    AutoIt
    #include <WinAPISys.au3>
    #include <WinAPITheme.au3>
    #include <File.au3>
    #include <GUIListView.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    
    
    $Dir = InputBox("Test", "Startverzeichnis eingeben...", @DesktopDir)
    Local $ActualPath = $Dir, $OldText = ""
    Dim $ContextMenuFileStatus = 0, $ContextMenuFolderStatus = 0, $ListviewContextMenu
    
    
    Local $GUI_WIDTH = @DesktopWidth/2, $GUI_HEIGHT = @DesktopHeight/2, $ListviewDoubleclicked
    $hGui = GUICreate("Test", $GUI_WIDTH, $GUI_HEIGHT)
    $InputDir = GUICtrlCreateInput("", 0, 0, $GUI_WIDTH, 30)
    GUICtrlSetFont($InputDir, 15)
    $Listview = GUICtrlCreateListView("", 0, 30, $GUI_WIDTH, $GUI_HEIGHT)
    _GUICtrlListView_AddColumn($Listview, "Name", $GUI_WIDTH*0.9)
    _ListviewAddDirectory($Listview, $Dir)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState()
    
    
    If _WinAPI_GetVersion() > 6.0 Then
    	_WinAPI_SetWindowTheme(GUICtrlGetHandle($Listview), "Explorer")
    EndIf
    
    
    AdlibRegister("_ListviewDoubleclick", 100)
    
    
    
    
    
    
    While 1
    	_SetContextMenu()
    	$nMsg = GUIGetMsg()
    		Switch $nMsg
    			Case -3
    				Exit
    
    
    		EndSwitch
    WEnd
    
    
    Func _SetContextMenu()
    	$SelectedEntry = _GetSelected()
    	If $SelectedEntry[0] = 1 Then
    		If $SelectedEntry[1] <> $OldText Then
    			GUICtrlSetData($InputDir, "Selected: Folder << " & $SelectedEntry[1] & " >>")
    		EndIf
    		If $ContextMenuFileStatus = 1 Then
    			GUICtrlDelete($ListviewContextMenu)
    			$ContextMenuFileStatus = 0
    		EndIf
    		$ListviewContextMenu = _CreateFolderContextMenu()
    		$ContextMenuFolderStatus = 1
    	ElseIf $SelectedEntry[0] = 2 Then
    		If $SelectedEntry[1] <> $OldText Then
    			GUICtrlSetData($InputDir, "Selected: File << " & $SelectedEntry[1] & " >>")
    		EndIf
    		If $ContextMenuFolderStatus = 1 Then
    			GUICtrlDelete($ListviewContextMenu)
    			$ContextMenuFolderStatus = 0
    		EndIf
    		$ListviewContextMenu = _CreateFileContextMenu()
    		$ContextMenuFileStatus = 1
    	ElseIf $SelectedEntry[0] = 0 Then
    		If $SelectedEntry[1] <> $OldText Then
    			GUICtrlSetData($InputDir, "Selected: Nothing")
    		EndIf
    		If $ContextMenuFileStatus = 1 Or $ContextMenuFolderStatus = 1 Then
    			GUICtrlDelete($ListviewContextMenu)
    			$ContextMenuFileStatus = 0
    			$ContextMenuFolderStatus = 0
    		EndIf
    	EndIf
    EndFunc
    
    
    Func _CreateFileContextMenu()
    	$ContextMenu = GUICtrlCreateContextMenu($Listview)
    	GUICtrlCreateMenuItem("Context Menu for a file", $ContextMenu)
    	Return $ContextMenu
    EndFunc
    
    
    Func _CreateFolderContextMenu()
    	$ContextMenu = GUICtrlCreateContextMenu($Listview)
    	GUICtrlCreateMenuItem("Context Menu for a Folder", $ContextMenu)
    	Return $ContextMenu
    EndFunc
    
    
    Func _GetSelected()
    	Local $ReturnArray[2]
    	$Selection = _GUICtrlListView_GetSelectedIndices($Listview)
    	$Folder = _GUICtrlListView_GetItemText($Listview, Int($Selection))
    	If $Selection = "" Then
    		$ReturnArray[0] = 0
    		$ReturnArray[1] = " "
    	ElseIf _IsDir($ActualPath & "\" & $Folder) = True Then
    		$ReturnArray[0] = 1
    		$ReturnArray[1] = $Folder
    	ElseIf _IsDir($ActualPath & "\" & $Folder) = False Then
    		$ReturnArray[0] = 2
    		$ReturnArray[1] = $Folder
    	EndIf
    	Return $ReturnArray
    EndFunc
    
    
    Func _ListviewAddDirectory($Listview, $Directory)
    	_GUICtrlListView_DeleteAllItems($Listview)
    	$FileArray = _FileListToArray($Directory)
    	For $i = 1 To $FileArray[0]-1
    		_GUICtrlListView_AddItem($Listview, $FileArray[$i])
    	Next
    EndFunc
    
    
    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
        Local $tagNMHDR, $event, $hwndFrom, $code
        $tagNMHDR = DllStructCreate("int;int;int", $lParam)
        If @error Then Return 0
        $code = DllStructGetData($tagNMHDR, 3)
        If $wParam = $Listview And $code = -3 Then $ListviewDoubleclicked = True
        Return $GUI_RUNDEFMSG
    EndFunc
    
    
    Func _ListviewDoubleclick()
    	If $ListviewDoubleclicked Then
          	$Selected = _GUICtrlListView_GetSelectedIndices($Listview)
    		$Folder = _GUICtrlListView_GetItemText($Listview, Int($Selected))
    		If $Selected <> "" Then
    			If _IsDir($ActualPath & "\" & $Folder) = True Then
    				_ListviewAddDirectory($Listview, $ActualPath & "\" & $Folder)
    				$ActualPath &= "\" & $Folder
    			Else
    				ShellExecute($ActualPath & "\" & $Folder)
    			EndIf
    			$ListviewDoubleclicked = False
    		EndIf
        EndIf
    EndFunc
    
    
    Func _IsDir($Path)
    	If StringInStr(FileGetAttrib($Path), "D") = True Then
    		Return True
    	Else
    		Return False
    	EndIf
    EndFunc
    Alles anzeigen

    Ich steh grad voll aufm Schlauch und seh das Problem irgendwie nicht =O .
    Kann da jemand weiterhelfen?

  • Toolbar und Rebar

    • NO1 :-)
    • 7. April 2017 um 15:55

    Danke!

    Abschließend noch eine Frage: Kann man mehrer Toolbars auf einer GUI erstellen?

    Edit: Habs mir selber erstellt, wie's BugFix
    vorgeschlagen hatt...

  • Toolbar und Rebar

    • NO1 :-)
    • 6. April 2017 um 22:15

    Danke für deine Antwort,

    ich hab mir das auch schon überlegt, es selber zusammen zu basteln. Weißt du / Wisst ihr wie man Pfade/Handles zu den Systembitmaps bekommt?

  • Toolbar und Rebar

    • NO1 :-)
    • 6. April 2017 um 21:36

    Hi liebe AutoIt-Community!

    Ich hätte da mal ein paar grundsätzliche Fragen zu den Themen Toolbar Rebar. Ich hab schon länger im Internet gesucht, jedoch ohne großen Erfolg.

    1. Kann man mehrere Toolbars auf einer GUI
    erzeugen (z.B. um Sie untereinander in eine Rebar einzufügen).

    2. Wobei ich nur negative Erfahrungen gemacht hab: System-Bitmaps und eigene Icons in 1 Toolbar einzufügen.

    3. Kann man die Rebar-Styles so setzen, dass die einzelnen Gruppen nicht verschoben werden können und das nur bei bestimmten Gruppen die Größe per Maus verändert werden kann.
    Habs schon versucht mit
    _GUICtrlRebar_SetBandStyleFixedSize und mit _GUICtrlRebar_SetBandStyleNoGripper. Jedoch haben die Gruppen unterschiedliche Größen und das schaut ******* aus, wenn man z.B. Icons in die Rebar einfügt. Beispielskript kanm ich heut leider net schicken, aber morgen.

    Wenn ihr euch da besser auskennt und Lust habt zu antworten, dann tut das gerne :D .

    Lg NO1 :)

  • Probleme mit der MondernMenu UDF

    • NO1 :-)
    • 5. April 2017 um 18:48

    Wow! Hast du super gemacht!

    Das mit dem auskommentieren an den Stellen hab ich gestern auch probiert, da hat er dann aber wieder gemeckert, dass die Konstanten nicht deklariert sind :D .
    Naja, gut, hat jetzt auf jeden Fall funktioniert und vielen Dank nochmal.

    Lg NO1 :)

  • Probleme mit der MondernMenu UDF

    • NO1 :-)
    • 5. April 2017 um 15:55

    Danke dir vielmals,

    ich versuchs nochmal, wenn ich daheim bin...

  • Probleme mit der MondernMenu UDF

    • NO1 :-)
    • 5. April 2017 um 12:41

    Danke Bitnugger,

    aber warum meckert denn die Check.exe rum, es wird doch abgefragt ob die $Events deklariert sind? Wie soll ich das umschreiben?

    Lg NO1 :)

  • Probleme mit der MondernMenu UDF

    • NO1 :-)
    • 4. April 2017 um 21:00

    Hallo zusammmen,

    ich würde gerne die ModernMenu UDF aus dem englischen Forum benutzen.
    Wenn man z.B. das Beispielskript direkt ausführt (per Doppelklick im Windows-Explorer), funktioniert alles wie gewünscht. Wenn man das Skript allerdings aus SciTe ausführt, öffnet SciTe immer die MondernMenuRaw.au3 und spuckt die Fehlermeldung "previously declared as a Const aus", obwohl mit dieser Zeile in der ModernMenuRaw.au3

    AutoIt
    If Not IsDeclared("WM_MOUSEMOVE") Then Global Const $WM_MOUSEMOVE = 0x0200

    ja eigentlich abgefragt wird, ob in diesem Fall $WM_MOUSEMOVE schon deklariert ist.
    Ist da ein Fehler im Skript oder liegt es an SciTe?
    Bzw. wie kann ich die Fehlermeldung unterdrücken?

    Weiß da jemand von euch Bescheid?
    Vielen Dank

    Hier noch das Testskript:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    ;#include "ModernMenu.au3"
    #include "ModernMenuRaw.au3" ; Only unknown constants are declared here

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    $hMainGUI= GUICreate("Sample Menu")

    [/autoit] [autoit][/autoit] [autoit]

    ;$bUseAdvMenu= TRUE ; Global variable to switch on/off advanced menu, default is TRUE
    ;$bUseAdvTrayMenu = TRUE ; Global variable to switch on/off advanced tray menu, default is TRUE
    ;$bUseRGBColors= FALSE; Global variable to change color mode, set TRUE to use RGB color values, default is FALSE

    [/autoit] [autoit][/autoit] [autoit]

    ; Set default color values - BGR-values!
    SetGreenMenuColors()
    SetBlueTrayColors()
    ;SetOLBlueColors() ; near blue outlook 2003 style
    ;SetOLSilverColors() ; near silver outlook 2003 style

    [/autoit] [autoit][/autoit] [autoit]

    ; Set flash timeout for tray flashing icons (milliseconds) - default are 750, minimum is 50
    _SetFlashTimeOut(250)
    ; _SetFlashTimeOut() - set back to default

    [/autoit] [autoit][/autoit] [autoit]

    ; To activate flashing use _TrayIconSetState($ID, 4)
    ; To dactivate flashing use _TrayIconSetState($ID, 8)

    [/autoit] [autoit][/autoit] [autoit]

    ; !!! To delete menu items please use:
    ; _TrayDeleteItem($nID)
    ; or
    ; _GUICtrlODMenuItemDelete($nID)
    ; !!!

    [/autoit] [autoit][/autoit] [autoit]

    ; File-Menu
    $FileMenu= GUICtrlCreateMenu("&File")
    $nSideItem1= _CreateSideMenu($FileMenu)
    _SetSideMenuText($nSideItem1, "My File Menu")
    _SetSideMenuColor($nSideItem1, 0xFFFFFF) ; default color - white
    _SetSideMenuBkColor($nSideItem1, 0x921801) ; bottom start color - dark blue
    _SetSideMenuBkGradColor($nSideItem1, 0xFBCE92) ; top end color - light blue

    [/autoit] [autoit][/autoit] [autoit]

    ; You can also set a side menu bitmap
    ; !Must be min. 8bppand "bmp"-format
    ; Samples:
    ; _SetSideMenuImage($nSideItem1, @ScriptDir & "\test.bmp")
    ; _SetSideMenuImage($nSideItem1, "test.exe", 178) ; Load the bitmap resource ordinal number 178 from 'test.exe'
    ; _SetSideMenuImage($nSideItem1, "mydll.dll", "#120") ; Load the bitmap resource with name '120' from 'mydll.dll'

    [/autoit] [autoit][/autoit] [autoit]

    $OpenItem= _GUICtrlCreateODMenuItem("&Open..." & @Tab & "Ctrl+O", $FileMenu)
    _GUICtrlODMenuItemSetIcon(-1, "shell32.dll", -4)
    _GUICtrlODMenuItemSetSelIcon(-1, "shell32.dll", -5)
    $SaveItem= _GUICtrlCreateODMenuItem("&Save" & @Tab & "Ctrl+S", $FileMenu, "shell32.dll", -7)
    _GUICtrlODMenuItemSetSelIcon(-1, "shell32.dll", -79)
    _GUICtrlCreateODMenuItem("", $FileMenu) ; Separator
    $RecentMenu= _GUICtrlCreateODMenu("Recent Files", $FileMenu)
    _GUICtrlCreateODMenuItem("", $FileMenu) ; Separator
    $ExitItem= _GUICtrlCreateODMenuItem("E&xit", $FileMenu, "shell32.dll", -28)

    [/autoit] [autoit][/autoit] [autoit]

    ; Tools-Menu
    $ToolsMenu= GUICtrlCreateMenu("&Tools")
    $CalcItem= _GUICtrlCreateODMenuItem("Calculator", $ToolsMenu, "calc.exe", 0)
    $CmdItem= _GUICtrlCreateODMenuItem("CMD", $ToolsMenu, "cmd.exe", 0)
    $EditorItem= _GUICtrlCreateODMenuItem("Editor", $ToolsMenu, "notepad.exe", 0)
    $RegeditItem = _GUICtrlCreateODMenuItem("Regedit", $ToolsMenu, "regedit.exe", 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; View-Menu
    $ViewMenu= GUICtrlCreateMenu("&View")
    $ViewColorMenu = _GUICtrlCreateODMenu("Menu Colors", $ViewMenu, "mspaint.exe", 0)
    $nSideItem2= _CreateSideMenu($ViewColorMenu)
    _SetSideMenuText($nSideItem2, "Choose a color")
    _SetSideMenuColor($nSideItem2, 0x00FFFF)
    _SetSideMenuBkColor($nSideItem2, 0xD00000)

    [/autoit] [autoit][/autoit] [autoit]

    $SetDefClrItem = _GUICtrlCreateODMenuItem("Default", $ViewColorMenu, "", 0, 1)
    _GUICtrlCreateODMenuItem("", $ViewColorMenu) ; Separator
    $SetRedClrItem = _GUICtrlCreateODMenuItem("Red", $ViewColorMenu, "", 0, 1)
    $SetGrnClrItem = _GUICtrlCreateODMenuItem("Green", $ViewColorMenu, "", 0, 1)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $SetBlueClrItem = _GUICtrlCreateODMenuItem("Blue", $ViewColorMenu, "", 0, 1)
    _GUICtrlCreateODMenuItem("", $ViewColorMenu) ; Separator
    $SetOLBlueItem = _GUICtrlCreateODMenuItem("Outlook-Blue", $ViewColorMenu, "", 0, 1)
    $SetOLSlvItem = _GUICtrlCreateODMenuItem("Outlook-Silver", $ViewColorMenu, "", 0, 1)
    $ViewStateItem = _GUICtrlCreateODMenuItem("Enable Config", $ViewMenu)
    GUICtrlSetState(-1, $GUI_CHECKED)

    [/autoit] [autoit][/autoit] [autoit]

    ; Help-Menu
    $HelpMenu= GUICtrlCreateMenu("&?")
    $HelpItem= _GUICtrlCreateODMenuItem("Help Topics" & @Tab & "F1", $HelpMenu, "shell32.dll", -24)
    _GUICtrlCreateODMenuItem("", $HelpMenu) ; Separator
    $AboutItem= _GUICtrlCreateODMenuItem("About...", $HelpMenu)

    [/autoit] [autoit][/autoit] [autoit]

    ; You can also the same things on context menus
    $GUIContextMenu = GUICtrlCreateContextMenu(-1)
    $ConAboutItem = _GUICtrlCreateODMenuItem("About...", $GUIContextMenu, "explorer.exe", -8)
    _GUICtrlCreateODMenuItem("", $GUIContextMenu) ; Separator
    $ConExitItem = _GUICtrlCreateODMenuItem("Exit", $GUIContextMenu, "shell32.dll", -28)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateButton("Test", 100, 200, 70, 20)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; *** Create the tray icon ***
    $nTrayIcon1= _TrayIconCreate("Tools", "shell32.dll", -13)
    _TrayIconSetClick(-1, 16)
    _TrayIconSetState() ; Show the tray icon

    [/autoit] [autoit][/autoit] [autoit]

    ; *** Create the tray context menu ***
    $nTrayMenu1= _TrayCreateContextMenu() ; is the same like _TrayCreateContextMenu(-1) or _TrayCreateContextMenu($nTrayIcon1)
    $nSideItem3= _CreateSideMenu($nTrayMenu1)
    _SetSideMenuText($nSideItem3, "My Tray Menu")
    _SetSideMenuColor($nSideItem3, 0x00FFFF) ; yellow; default color - white
    _SetSideMenuBkColor($nSideItem3, 0x802222) ; bottom start color - dark blue
    _SetSideMenuBkGradColor($nSideItem3, 0x4477AA) ; top end color - orange
    ;_SetSideMenuImage($nSideItem3, "shell32.dll", 309, TRUE)

    [/autoit] [autoit][/autoit] [autoit]

    $MenuMenu= _TrayCreateMenu("Menu") ; is the same like _TrayCreateMenu("Menu", -1) or _TrayCreateMenu("Menu", $nTrayMenu1)
    _TrayCreateItem("")
    _TrayItemSetIcon(-1, "", 0)
    $MenuDrives= _TrayCreateMenu("Driveinfo")
    _TrayCreateItem("")
    _TrayItemSetIcon(-1, "", 0); Force changing to ownerdrawn sometimes needed, i.e. in mixed menu
    $MenuTools= _TrayCreateMenu("Tools")
    _TrayCreateItem("")
    _TrayItemSetIcon(-1, "", 0)
    $TrayHelp= _TrayCreateItem("Help")
    $TrayRun= _TrayCreateItem("Run...")
    _TrayCreateItem("")
    _TrayItemSetIcon(-1, "", 0)
    $TrayExit= _TrayCreateItem("Exit")

    [/autoit] [autoit][/autoit] [autoit]

    _TrayItemSetIcon($MenuMenu, "", 0)
    _TrayItemSetIcon($MenuDrives, "shell32.dll", -9)
    _TrayItemSetIcon($MenuTools, "shell32.dll", -20)
    _TrayItemSetSelIcon($MenuTools, "shell32.dll", -44)
    _TrayItemSetIcon($TrayHelp, "shell32.dll", -24)
    _TrayItemSetIcon($TrayRun, "shell32.dll", -25)
    _TrayItemSetIcon($TrayExit, "shell32.dll", -28)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState($TrayHelp, $GUI_DEFBUTTON)

    [/autoit] [autoit][/autoit] [autoit]

    ; *** Sub menu items ***
    $TrayAdvanced = _TrayCreateItem("Modern", $MenuMenu, -1, 1)
    $TraySimple= _TrayCreateItem("Classic", $MenuMenu, -1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    _TrayItemSetIcon($TrayAdvanced, "", 0)
    _TrayItemSetIcon($TraySimple, "", 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState($TrayAdvanced, $GUI_CHECKED)

    [/autoit] [autoit][/autoit] [autoit]

    $TrayCalc= _TrayCreateItem("Calculator", $MenuTools)
    $TrayCMD= _TrayCreateItem("CMD", $MenuTools)
    $TrayNotepad = _TrayCreateItem("Notepad", $MenuTools)
    $TrayRegedit = _TrayCreateItem("Regedit", $MenuTools)

    [/autoit] [autoit][/autoit] [autoit]

    _TrayItemSetIcon($TrayCalc, "calc.exe", 0)
    _TrayItemSetIcon($TrayCMD, "cmd.exe", 0)
    _TrayItemSetIcon($TrayNotepad, "notepad.exe", 0)
    _TrayItemSetIcon($TrayRegedit, "regedit.exe", 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetState($TrayNotepad, $GUI_DISABLE)

    [/autoit] [autoit][/autoit] [autoit]

    _TrayCreateItem("Free Space:", $MenuDrives)
    _TrayCreateItem("", $MenuDrives)

    [/autoit] [autoit][/autoit] [autoit]

    $arDrives = DriveGetDrive("FIXED")
    For $i = 1 To $arDrives[0]
    _TrayCreateItem(StringUpper($arDrives[$i]) & " -> " & _
    StringFormat("%.2f GB", DriveSpaceFree($arDrives[$i])), $MenuDrives)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ; WM_MEASUREITEM and WM_DRAWITEM are registered in
    ; "ModernMenu.au3" so they don"t need to registered here
    ; Also OnAutoItExit() is in "ModernMenu.au3" to cleanup the
    ; menu imagelist and font

    [/autoit] [autoit][/autoit] [autoit]

    Dim $nTrayIcon2 = 0

    [/autoit] [autoit][/autoit] [autoit]

    ; Create an icon which demonstrates how to use click event - see the function 'MyTrayTipCallBack'
    Dim $nTrayIcon3 = _TrayIconCreate("Click me", "shell32.dll", -16, "MyTrayTipCallBack")
    _TrayIconSetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Main GUI Loop

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case $GUI_EVENT_CLOSE, $ExitItem, $ConExitItem, $TrayExit
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case $AboutItem, $ConAboutItem
    Msgbox(64, "About", "Menu color sample by Holger Kotsch")
    _GUICtrlODMenuItemSetText($OpenItem, "Open thisone or not..." & @Tab & "Ctrl+O")
    _GUICtrlODMenuItemSetText($ConAboutItem, "About this demo")

    [/autoit] [autoit][/autoit] [autoit]

    Case $ViewStateItem
    If BitAnd(GUICtrlRead($ViewStateItem), $GUI_CHECKED) Then
    GUICtrlSetState($ViewStateItem, $GUI_UNCHECKED)
    GUICtrlSetState($ViewColorMenu, $GUI_DISABLE)
    Else
    GUICtrlSetState($ViewStateItem, $GUI_CHECKED)
    GUICtrlSetState($ViewColorMenu, $GUI_ENABLE)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetDefClrItem
    SetCheckedItem($SetDefClrItem)
    SetDefaultMenuColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetRedClrItem
    SetCheckedItem($SetRedClrItem)
    SetRedMenuColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetGrnClrItem
    SetCheckedItem($SetGrnClrItem)
    SetGreenMenuColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetBlueClrItem
    SetCheckedItem($SetBlueClrItem)
    SetBlueMenuColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetOLBlueItem
    SetCheckedItem($SetOLBlueItem)
    SetOLBlueColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $SetOLSlvItem
    SetCheckedItem($SetOLSlvItem)
    SetOLSilverColors()

    [/autoit] [autoit][/autoit] [autoit]

    Case $TrayAdvanced, $TraySimple
    If BitAnd(GUICtrlRead($TraySimple), $GUI_CHECKED) Then
    GUICtrlSetState($TraySimple, $GUI_UNCHECKED)
    GUICtrlSetState($TrayAdvanced, $GUI_CHECKED)
    $bUseAdvTrayMenu = TRUE
    Else
    GUICtrlSetState($TraySimple, $GUI_CHECKED)
    GUICtrlSetState($TrayAdvanced, $GUI_UNCHECKED)
    $bUseAdvTrayMenu = FALSE
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $TrayHelp
    If $nTrayIcon2 = 0 Then
    $nTrayIcon2 = _TrayIconCreate("New message", "shell32.dll", -14, "MyTrayTipCallBack")
    _TrayIconSetState(-1, 5) ; Show icon and start flashing -> 1 + 4
    Else
    _TrayIconSetState($nTrayIcon2, 5) ; Show icon and start flashing -> 1 + 4
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _TrayTip($nTrayIcon2, "New message", "A new message has arrived." & @CRLF & "Please click here to read...", 15, $NIIF_INFO)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    _TrayIconDelete($nTrayIcon1)
    _TrayIconDelete($nTrayIcon3)

    [/autoit] [autoit][/autoit] [autoit]

    If $nTrayIcon2 > 0 Then _TrayIconDelete($nTrayIcon2)

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func MyTrayTipCallBack($nID, $nMsg)
    Switch $nID
    Case $nTrayIcon2
    Switch $nMsg
    Case $NIN_BALLOONUSERCLICK, $NIN_BALLOONTIMEOUT
    _TrayIconSetState($nTrayIcon2, 8) ; Stop icon flashing
    If $nMsg = $NIN_BALLOONUSERCLICK Then MsgBox(64, "Information", "This could be your message.")
    _TrayIconSetState($nTrayIcon2, 2) ; Hide icon
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    Case $nTrayIcon3
    Switch $nMsg
    ;;; Case $WM_LBUTTONDOWN
    ; Put your stuff here
    ;;; case $WM_LBUTTONUP
    ; Put your stuff here ; One click and double click to put together is difficult
    case $WM_LBUTTONDBLCLK
    MsgBox(0, "Info", "You left double clicked on TrayIcon3.")
    GUISetState(@SW_RESTORE, $hMainGUI) ; Restore/put focus back to our main GUI
    ;;; case $WM_RBUTTONDOWN
    ; Put your stuff here
    case $WM_RBUTTONUP
    MsgBox(0, "Info", "You right clicked on TrayIcon3.")
    GUISetState(@SW_RESTORE, $hMainGUI) ; Restore/put focus back to our main GUI
    ;;; case $WM_RBUTTONDBLCLK
    ; Put your stuff here
    ;;; case $WM_MOUSEMOVE
    ; Put your stuff here
    EndSwitch
    EndSwitch
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetCheckedItem($DefaultItem)
    GUICtrlSetState($SetDefClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetRedClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetGrnClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetBlueClrItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetOLBlueItem, $GUI_UNCHECKED)
    GUICtrlSetState($SetOLSlvItem, $GUI_UNCHECKED)
    GUICtrlSetState($DefaultItem, $GUI_CHECKED)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetDefaultMenuColors()
    _SetMenuBkColor(0xFFFFFF)
    _SetMenuIconBkColor(0xDBD8D8)
    _SetMenuSelectBkColor(0xD2BDB6)
    _SetMenuSelectRectColor(0x854240)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetRedMenuColors()
    _SetMenuBkColor(0xAADDFF)
    _SetMenuIconBkColor(0x5566BB)
    _SetMenuSelectBkColor(0x70A0C0)
    _SetMenuSelectRectColor(0x854240)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetGreenMenuColors()
    _SetMenuBkColor(0xAAFFAA)
    _SetMenuIconBkColor(0x66BB66)
    _SetMenuSelectBkColor(0xBBCC88)
    _SetMenuSelectRectColor(0x222277)
    _SetMenuSelectTextColor(0x770000)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetBlueMenuColors()
    _SetMenuBkColor(0xFFB8B8)
    _SetMenuIconBkColor(0xBB8877)
    _SetMenuSelectBkColor(0x662222)
    _SetMenuSelectRectColor(0x4477AA)
    _SetMenuSelectTextColor(0x66FFFF)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetBlueTrayColors()
    _SetTrayBkColor(0xFFD8C0)
    _SetTrayIconBkColor(0xEE8877)
    _SetTrayIconBkGrdColor(0x703330)
    _SetTraySelectBkColor(0x662222)
    _SetTraySelectRectColor(0x4477AA)
    _SetTraySelectTextColor(0x66FFFF)
    _SetTrayTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetOLBlueColors()
    _SetMenuBkColor(0xFFFFFF)
    _SetMenuIconBkColor(0xFFEFE3)
    _SetMenuIconBkGrdColor(0xE4AD87)
    _SetMenuSelectBkColor(0xC2EEFF)
    _SetMenuSelectRectColor(0x800000)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SetOLSilverColors()
    _SetMenuBkColor(0xF9F9F9)
    _SetMenuIconBkColor(0xFDFDFD)
    _SetMenuIconBkGrdColor(0xC0A0A0)
    _SetMenuSelectBkColor(0xC2EEFF)
    _SetMenuSelectRectColor(0x800000)
    _SetMenuSelectTextColor(0x000000)
    _SetMenuTextColor(0x000000)
    EndFunc

    [/autoit]

    Lg NO1 :)

    Dateien

    ModernMenuLib_with_Tray.zip 45,36 kB – 400 Downloads
  • _String_MultiReplace UDF

    • NO1 :-)
    • 2. April 2017 um 17:55

    Danke für dein Feedback.

    Ich kann dir auch sagen, an was es liegt.
    Mit meinem Skript kann nämlich nur ein Buchstabe durch ein Wort ersetzt werden, das hat für den Zweck, für den ich es geschrieben hab, nämlich auch gereicht.
    Uiuiui, ich hab's viel zu umständlich gemacht, das muss ich nochmal updaten...

    Lg NO1 :)

  • ISN AutoIt Studio

    • NO1 :-)
    • 1. April 2017 um 13:21

    Eine der krasserst geilen Sachen, die jemand in AutoIt geschrieben hat. Super Sache, dickes Lob! :thumbup:

  • GuiCtrlsetdata Problem

    • NO1 :-)
    • 1. April 2017 um 13:17
    Zitat von BugFix

    Uhrzeit ist selbstverständlich ein Bestandteil des Date-Ctrl. Ob du es nutzt oder nicht liegt am Style, den du setzt.

    Gut zu wissen. Danke!

  • GuiCtrlsetdata Problem

    • NO1 :-)
    • 1. April 2017 um 13:16

    Wenn man des StringRegExpReplace fähig ist :D ...

  • GuiCtrlsetdata Problem

    • NO1 :-)
    • 1. April 2017 um 13:09

    Schau dir mal StringSplit an. Da kannst du das Datum aus der Textdatei zerlegen. Die Einzelbestandteile kannst du dann wieder in der richtigen Reihenfolge mit / zusammenfügen.

  • GuiCtrlsetdata Problem

    • NO1 :-)
    • 1. April 2017 um 10:38

    @BugFix

    Ist denke bei Date gibts kein HH:mm:ss, sondern nur yyyy/MM/dd.

    ;)

  • Loops wiederholen und unterbrechen

    • NO1 :-)
    • 29. März 2017 um 16:38

    @Micha_he

    Tut mir leid, hab eure Posts noch nicht gesehen, als ichs abgeschickt hab. Hatte mal länger kein Internet heute ;) .

    Lg NO1 :)

  • Loops wiederholen und unterbrechen

    • NO1 :-)
    • 29. März 2017 um 14:48

    Also

    Als erstes kommen alle #includes. Dann erstellts du deine Variablen. Als 3. einmalig die GUIs erstellen. Und dann kommt deine While-Schleife, da reicht aber eine aus und in die kannst du unter anderem schreiben, welche GUI angezeigt werden soll z.B. GUISetState (@SW_Show, $Form1) zeigt Form1...
    z.B. GUISetState (@SW_Hide, $Form2) versteckt Form2...

    Lies dir dazu mal GUISetState durch.

    Lg NO1 :)

  • Loops wiederholen und unterbrechen

    • NO1 :-)
    • 29. März 2017 um 10:56

    Könntest du deinen Code bitte mal schön einfügen mit Einrückungen und so, weil so kann man das schlecht lesen.

    Lg NO1 :)

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™