TrayIcon & Position



  • MSDN schrieb:

    Note Custom draw is implemented in version 4.70 and later of Comctl32.dll for all the controls previously listed. Custom draw is also supported for button controls if you are running Windows XP and have an application manifest to ensure that Comctl32.dll version 6 is available.

    Hab ich vergessen anzugeben.
    Soll mit NT5 und XP gehn.



  • Du könntest mit FindWindow dir das Handle zu der Toolbar suchen.

    Ich hab noch nie mit ner Toolbar gearbeitet, aber da gibts doch bestimmt eine Methode zum Auslesen der Icon-Position.



  • TheBender schrieb:

    MSDN schrieb:

    Note Custom draw is implemented in version 4.70 and later of Comctl32.dll for all the controls previously listed. Custom draw is also supported for button controls if you are running Windows XP and have an application manifest to ensure that Comctl32.dll version 6 is available.

    Hab ich vergessen anzugeben.
    Soll mit NT5 und XP gehn.

    Tut es doch auch... Der von Dir zitierte Abschnitt sagt nur, das es auch mit normalen Buttons unter XP geht.
    Da Du aber keine normalen Buttons, sondern ToolTips bearbeiten willst, brauchst Du lediglich version 4.70 der Comctl32.dll!



  • Das wird ihm doch aber wahrscheinlich wenig nützen, wenn er noch ein Edit-Feld auf dem Fenster erstellen will.

    Ich hab hier noch was gefunden um die Position des System Trays rauszubekommen, allerdings nicht für die einzelnen Icons: http://www.codeproject.com/shell/trayposition.asp



  • tool schrieb:

    Das wird ihm doch aber wahrscheinlich wenig nützen, wenn er noch ein Edit-Feld auf dem Fenster erstellen will.

    Warum nicht?

    MSDN schrieb:

    Currently, the following controls support custom draw functionality:

    Header controls
    List-view controls
    Rebar controls
    Toolbar controls
    ToolTip controls
    Trackbar controls
    Tree-view controls

    Note Custom draw is implemented in version 4.70 and later of Comctl32.dll for all the controls previously listed.

    NMTTCUSTOMDRAW



  • Ja, aber wo soll denn die Erstellung des Edit-Controls stattfinden? In der Zeichenroutine?



  • Natürlich... das komplette Ding muß er dann selber zeichnen... was ja der Inbegriff von Custom/Owner-Draw Controls ist...



  • Also erstmal besten Dank 👍 👍 👍

    Werd es erstmal mit dem Link von tool versuchen wenn das nicht funzt.

    Versuch ichs mit Custom draw -> denn ich hab ja mein fenster schon fertig und wenn ich das richtig verstehe müsste ich da ja ganz anders rangehen.

    Noch mal besten dank werd mich wohl im Forum anmelden denn das Problem hab ich schon in anderen Foren gepostet und da hatte nie jemand nen blassen schimmer oder einen Ansatz für mich.

    Mfg TheBender



  • TheBender schrieb:

    Meine Ballontips haben z.B. Eingabefelder und Button.
    Und um ihn genau über dem Trayicon darzustellen brauch ich die Position des Trayicon.

    Wie wär's mit GetCursorPos()?



  • GetCursorPos() 😕 wieso sollte der gerade über dem Icon sein
    ich will ja nicht auf ein klick oder move over reagieren.

    ich hab die api jetzt schon so weit das ich die Trayicon verschieben kann und solche sachen. ne func für die pos hab ich auch in der api gefunden die funzt noch nich so richtig aber das wird

    Mfg TheBender



  • noch einfacher wäre wenn du das beispiel von winapi.net nimmst

    case WM_ICONCLICK:
            switch(lParam)
            {
                case WM_LBUTTONUP:
                    {
                       int xPos = LOWORD(lParam);
                       int yPos = HIWORD(lParam);
                       // und schon hast du den rechten unteren
                       // punkt von deinem fenster
                    }
                    break;
            }
            return 0;
    


  • @miller_m:

    TheBender schrieb:

    GetCursorPos() 😕 wieso sollte der gerade über dem Icon sein
    ich will ja nicht auf ein klick oder move over reagieren.



  • TheBender schrieb:

    ne func für die pos hab ich auch in der api gefunden die funzt noch nich so richtig aber das wird

    Zeig doch mal deine Versuche 🤡



  • flenders schrieb:

    @miller_m:

    TheBender schrieb:

    GetCursorPos() 😕 wieso sollte der gerade über dem Icon sein
    ich will ja nicht auf ein klick oder move over reagieren.

    hab ich schon auch gelesen, aber will er dann reagieren 😕



  • @miller_m

    mein kleines fenster soll wie ein ballontip aufgehen, nicht durch klicken, z.B. wenn ich was über winsock emfange oder die conection abgebrochen ist (WLAN)

    @flenders
    ich hab gerade keine zeit, poste morgen meine variante 😮

    Mfg TheBender



  • Es geht ich kann die Position jetzt 100% genau herausfinden, nicht wie bei
    dem Artikel www.codeproject.com der hatt mir aber sehr geholfen.

    Ich wusste garnicht was an der Taskleiste so alles manipulieren kann:
    z.B.:
    -Symbole andere Anwendungen entfernen
    -Symbole hinzufügen
    -die bilder ändern
    -oder button deaktivieren

    das is ja echt fett

    Mfg TheBender



  • www.codeproject.com ist kein Artikel! Gib den bitte nochmal mit einem vollständigen Link an. Danke.



  • WebFritzi schrieb:

    www.codeproject.com ist kein Artikel! Gib den bitte nochmal mit einem vollständigen Link an. Danke.

    ich glaub er meint den link von der ersten seite http://www.codeproject.com/shell/trayposition.asp



  • Es geht ich kann die Position jetzt 100% genau herausfinden

    Verrätst du (später) noch wie das geht?

    Weil gestern hattest du ja geschrieben, das du es heute erläuterst. 😃



  • Hä? Das ist doch nur Fenstergefriemel da im Artikel. Das hat nichts mit der Position eines TrayIcons zu tun.
    Ich habe mir folgendes gedacht: Am Anfang ist das TrayIcon ja ganz links angeordnet. Es könnte ja nun sein, dass man eine Nachricht bekommt, wenn sich das Icon verschiebt. 😕


Anmelden zum Antworten