Position Quick Launch Verknüpfung

  • Hallo zusammen,

    hat einer eine Idee zu folgendem Problem:

    Ich erstelle mittels FileCreateShortcut eine Verknüpfung in der Quick Launch Leiste (Schnellstartleiste neben dem Start-Button von Windows). So weit so gut. Nun würde ich aber gerne eine Hinweistext zu dieser Verknüpfung anzeigen lassen "Mit dieser Verknüpfung kann das Projekt ... aufgerufen werden" etwa wie es mit ToolTip geht. Mein Problem ist, dass ich nicht genau weiß, an welcher Stelle die Verknüpfung angezeigt wird.

    Meine Überlegung ist:


    • Mit _FileListToArray die Anzahl der Verknüpfungen ermitteln -> Klappt und ist i.O
    • dann die Positon des Quick Launch Fensters ermitteln
    • dann mit einer Schleife die Anzahl der Verknüpfungen durchlaufen und die Mausposition jeweisl erweitern (Icons sind 24x24 Pixel)
    • dann tooltip an der Position anzeigen lassen


    So weit meine Idee. Leider kriege ich irgendwie nicht raus, wo die Quick Launch Leiste ist.

    Jemand ne Idee?

    Vielen Dank

    Steffen

    Einmal editiert, zuletzt von s.koni (26. August 2008 um 11:17)

  • ja,

    vergiss deine Überlegung, wenn du einen einfachen Tooltip haben möchtest musst du von der Verknüpfung nur dem Kommentar editieren...
    Bzw. einfach was reinschreiben ;)

    -->rechte maustaste auf die Verknüpfung--->Eigenschaften--->Edit Feld Kommentar ausfüllen

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Danke für den Hinweis, aber das habe ich schon gemacht.

    Wird die Verküpfung angelegt, schreibe ich eine Kommentar rein, der aber nur dann angezeigt wird, wenn der Anwender mit der Maus über die Verknüpfung fährt.
    Ich möchte die Verknüpfung erstellen und dann den Hinweis richtig positioniert anzeigen.

  • du willst in einer eigenständigen GUI von dir den Hinweistext von einer Verknüpfung sehen wenn du mouseover bist? oO

    Schau mal ob die Verknüpfungen irgendeine ID oder sowas zurückgeben (AutoIt Window Info)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Es wird beim klicken auf die Quick Launch Leiste angegeben:

    >>>>>>>>>>>> Window Details <<<<<<<<<<<<<
    Title:
    Class: Shell_TrayWnd
    Size: X: -2 Y: 1170 W: 1604 H: 32

    >>>>>>>>>>> Mouse Details <<<<<<<<<<<
    Screen: X: 362 Y: 1179
    Cursor ID: 2

    >>>>>>>>>>> Pixel Color Under Mouse <<<<<<<<<<<
    RGB: Hex: 0xD4D0C8 Dec: 13947080

    >>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
    Size: X: 66 Y: 1 W: 422 H: 22
    Control ID:
    ClassNameNN: ToolbarWindow323
    Text: Quick Launch
    Style: 0x56018B4D
    ExStyle: 0x00000080

    >>>>>>>>>>> Status Bar Text <<<<<<<<<<<


    >>>>>>>>>>> Visible Window Text <<<<<<<<<<<
    Start
    16:04
    Infobereich
    TF_FloatingLangBar_WndTitle
    Ausgeführte Anwendungen
    Ausgeführte Anwendungen
    Quick Launch

    >>>>>>>>>>> Hidden Window Text <<<<<<<<<<<

    Ich checke es nicht, wie ich z.B. mit ControlGetPos dir Position rausbekomme. Ich komme dann schon weiter, aber hier hänge ich.
    Gruß
    Steffen

  • Naja du hast ja indem sinne keine Control da so eine Verknüpfung wohl nix zurückzugeben scheint du kannst es wohl dann nurnoch über die Koordinaten lösen...

    Ist allerdings sehr umständlich und auch sehr unflexibel

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Ja, genau das möchte ich machen, anders sehe ich auch keine möglichkeit.

    Wie ich anfangs geschrieben habe, weiß ich die Anzahl der Verknüpfungen + die Größe der angezeigten Icons, daher auch die Koordinate des letzten Eintrags.

    Was ich nicht weiß ist, von welcher Koordinate ich starten muss.

    z.B.
    Quick Launch Position: X= 68 Y=1174 <- Startkoordinate
    10 Verknüpfungen x 24x24 Icon größe = 240
    ToolTip Position X = 68 + 240; Y =1174

    Was mit fehlt ist die Startkoordinate!

    Der rest ist dann einfach.
    Gruß
    Steffen

  • fahr mit der maus links oben in die ecke von der Verknüpfung schau was für eine Mausposition du hast

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Ich will mal gar nicht den Sinn einer solchen Meldung in Frage stellen, sondern nur zu Bedenken geben, dass nicht jeder die Schnellstartleiste anzeigen läßt. Und dass es sogar Leute geben soll (ich), die eine doppelt hohe Taskleiste eingestellt haben und somit über zwei übereinanderliegende Reihen mit Schnellstart-Symbolen verfügen. Eine Positionsbestimmung anhand der Anzahl der Einträge erscheint mir daher nicht sonderlich sinnvoll.

    Vielleicht ist es besser, wenn Du ein eigenes Fenster (in der Nähe der Schnellstartleiste) öffnest, in dem Du das Icon abbildest und daneben die Erklärung zu dem Icon anzeigst?!

    • Offizieller Beitrag

    Hallo

    Hm, probier mal das hier:

    [autoit]

    #include <GuiToolbar.au3>
    #include <array.au3>
    $hWnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
    $aPosW = WinGetPos($hWnd)
    $hcWnd = ControlGetHandle($hWnd,"","ToolbarWindow323")
    $aPos = ControlGetPos($hWnd,"",$hcWnd)
    $ar = _GUICtrlToolbar_GetButtonRect($hcWnd,0)

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

    $iPosLeft = $aPosW[0]+$aPos[0]+($ar[3] * _GUICtrlToolbar_ButtonCount ($hcWnd) - $ar[3]/2)
    $iPosTop = $aPosW[1]+$aPos[1]-($ar[0]+50)
    ToolTip("Klick Mich wenn du dich Traust",$iPosLeft,$iPosTop,"Projekt",1,4)

    [/autoit]

    Mfg Spider