Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [nonVCL] Trayicon mit Popupmenu schliessen (https://www.delphipraxis.net/61565-%5Bnonvcl%5D-trayicon-mit-popupmenu-schliessen.html)

turboPASCAL 23. Jan 2006 10:04


[nonVCL] Trayicon mit Popupmenu schliessen
 
Hi,

Ich habe eine NonVCL-Anwendung mit einem Trayicon in der TNA mit einem Popupmenu. Soweit ist alles ok aber wenn das Menu aktiviert wurde (rechte Maustaste), ich aber neben das Menu klicke bleibt dieses erhalten/offen.

Wie kann ich das ändern ?

Vjay 23. Jan 2006 10:06

Re: [nonVCL] Trayicon mit Popupmenu schliessen
 
Indem du vorher deinem Hauptfenster den Fokus gibst.

Luckie 23. Jan 2006 10:06

Re: [nonVCL] Trayicon mit Popupmenu schliessen
 
Suche bemühen: [dp]tna popupmenü[/dp].

turboPASCAL 23. Jan 2006 10:17

Re: [nonVCL] Trayicon mit Popupmenu schliessen
 
Zitat:

Zitat von Luckie
Suche bemühen: [dp]tna popupmenü[/dp].

:gruebel: Suche ?

Ne, ist klar. So richtig was finden will es mir nicht.


Zitat:

Zitat von Vjay
Indem du vorher deinem Hauptfenster den Fokus gibst.

Ich habe gar kein Fenster, nur ein Icon in der TNA.

//EDIT:

Natürlich habe ich ein Fenster, halt nur 0x0x0x0, dem HWND kann ich ja nun verwenden um den Focus zu setzen. :wall:

Delphi-Quellcode:
//...
   
    WM_TRAYEVENT:
      Case lParam of
        WM_RBUTTONUP:
          begin
            SetFocus(hWnd); // <---<<<
            GetCursorPos(p);
            TrackPopupMenu(hPopupMenu, TPM_RIGHTALIGN or TPM_RIGHTBUTTON,
              p.x, p.y, 0, hWnd, nil);
          end;
        WM_LBUTTONUP: //...
Ich danke euch.

Luckie 23. Jan 2006 10:26

Re: [nonVCL] Trayicon mit Popupmenu schliessen
 
Jepp. Die Suche. Fünfte Ergebnis von oben, da wird es erwähnt, was man machen muss. Und da der Thread sogar den Titel "Problem mit TNA-Popupmenü..." trägt, muss ich dir recht geben, da guckt man natürlich nicht rein.

Und wie reagierst du auf Nachrichten? Bzw. wie bekommst du das Icon in die TNA? Mir ist keine Möglichkeit bekannt ohne die Nachrichtenschleife und ohne die Fensterprozedur eines Fensters auf Nachrichten zu reagieren.

turboPASCAL 23. Jan 2006 10:43

Re: [nonVCL] Trayicon mit Popupmenu schliessen
 
Zitat:

Zitat von Luckie
Jepp. Die Suche. Fünfte Ergebnis von oben, da wird es erwähnt, was man machen muss. Und da der Thread sogar den Titel "Problem mit TNA-Popupmenü..." trägt, muss ich dir recht geben, da guckt man natürlich nicht rein.

Und wie reagierst du auf Nachrichten? Bzw. wie bekommst du das Icon in die TNA? Mir ist keine Möglichkeit bekannt ohne die Nachrichtenschleife und ohne die Fensterprozedur eines Fensters auf Nachrichten zu reagieren.

Jaja, Asche auf mein Haupt. Auch suchen will gelernt sein. ;) ( aber ich hatte bei [dp]tna popupmenü [/dp] nur vier Ergebnisse :( )


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz