IconDock - Mac style Icon toolbar

  • Mit dieser UDF lassen sich Icons Toolbars erstellen, wie man sie von Mac oder z.B.: MobyDock, ObjectDock her kennt.

    autoit.de/wcf/attachment/13033/ autoit.de/wcf/attachment/13034/ autoit.de/wcf/attachment/13035/

    Beispiele sind im ZIP-Archiv enthalten.

    Donwload:autoit.de/wcf/attachment/13036/

    Viel Spaß!

    ps: für Alle, die das schon vom µIt her kennen: Es handelt sich um die selbe Version, ich hab noch nichts verändert!

  • Hi,

    ich habe da mal testweise eine Funktion "_test()" mit einem Button verbunden, die eine kleine GUI aufruft (hier: _IconDock_IconSetBitmap.au3):

    [autoit]


    Func _test()
    $testgui = GUICreate("Gui")
    GUISetState(@SW_SHOW,$testgui)
    ;MsgBox(0,"Test","test",1) ; Msgbox muss aktiviert sein hier

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

    While 1
    Sleep(100)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Wend

    EndFunc

    [/autoit]


    Das Ding stürzt ab - ausser die Msgbox-Zeile ist aktiviert - und ich weiß nicht warum... ?(

    Kann mir jemand sagen, woran das liegt?

    Dank und Gruß
    Thomas

    Einmal editiert, zuletzt von TJF (4. Dezember 2012 um 22:33)

  • Hi,

    dieses Problem hatte ich auch schon einmal mit einer zweiten GUI.
    Das Problem ist die Schleife mit GUIGetMsg, da diese Funktion (sehr wahrscheinlich) schon einmal aufgerufen wird (im Script von eukalytus).
    Setze ein "Sleep (1)" vor die While-Schleife, dann sollte es gehen.


    Grüße
    Greenhorn


    Einmal editiert, zuletzt von Greenhorn (5. Dezember 2012 um 00:49)

  • Hi,

    das isses leider auch nicht. Obwohl GUIGetMsg nochmal vorhanden ist. Auch mit

    [autoit]


    While 1
    Sleep(100)
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_ende")
    WEnd

    [/autoit]


    funktioniert das nur, wenn die Msgbox drin ist... ?( ?(

    Gruß
    Thomas

  • Hallo,

    habe da gerade nochmal reingeschaut. Kann mir jemand sagen, warum da ein Icon-Wechsel stattfindet (_IconDock_GetBitmapFromHIcon.au3), sobald man z.B. ganz links auf Previous klickt und Zeile 90 so ändert?


    AutoIt
    Case 1
    	;ConsoleWrite("! Previous" & @CRLF)
    	MsgBox(0,"","! Previous"); oder MsgBox(0,"","! Previous",2)

    Also anstatt ConsoleWrite eine MsgBox ...

    Ich klicke also im Original ganz links auf das Previous-Icon und es bleibt das PlayPrevious.ico stehen. Sobald die MsgBox drin steht, bleibt nach dem Klick das PlayPrevious_a.ico stehen...


    Viele Grüße
    Thomas

  • Hallo eukalyptus.

    Ich nutze bereits eine Weile ein Dock-Script, welches auf Deiner UDF beruht.

    Ich habe immer mal wieder das Problem, das das im Normalfall nicht sichtbare Dock (mit _IconDock_Fade() ausgeblendet) am unteren Desktoprand, einige Pixel (ungefähr die Höhe des Dock) nach oben rutscht, wenn sich während des Start's die Maus über der unteren Windows-Taskleiste befindet, bzw. dort bewegt wird. Horizontales Bewegen auf der Taskleiste erhöht bei mir merklich das Erscheinen dieses Problems. Anschließend befindet sich das Dock dauerhaft im unteren, sichtbaren Bereich.

    Hast Du eine Eklärung dafür ? Die Parameter die an die Funktion _IconDock_Create() übergeben werden, sind aber korrekt (DesktopHeight 1080 abzgl. den Default-Icon-Size-Werten von 64+32 ergibt 984) und wie bei den korrekten Starts.

    Hier mal ein auf die schnelle erstelltes Test-Skript, bei dem es bei 100% der Versuche zum Fehler führte, wenn ich die Maus während des Starts auf der Taskleiste horizontal bewege: MeinIconDock_ErrDemo.au3

    Noch ein Hinweis: Ich setze es unter Windows 7 x64 ein!

    Test unter Windows 10 zeigt identisches Verhalten.

    Hier nochmal eine angepasste IconDock-UDF für eine neuere AutoIt-Version, wo die GDIplus-Variable einen anderen Namen bekommen hat: IconDock.au3

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    7 Mal editiert, zuletzt von Micha_he (30. Juni 2021 um 17:42)

  • Bin gerade darüber gefallen, deshalb hier zur Info:

    Die IconDock-UDF funktioniert wegen eine Fehlers bei der Hex-Arithmetik nicht mit der AutoIt-Version 3.3.16.0 , sondern erst wieder mit der 3.3.16.1.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"