Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Popupmenü blendet sich nicht mehr aus (https://www.delphipraxis.net/87606-popupmenue-blendet-sich-nicht-mehr-aus.html)

Van HelF 2. Mär 2007 21:27


Popupmenü blendet sich nicht mehr aus
 
Hallo,
ich habe mein programm in den TNA bereich eingetragen, und ein popupmenü zugewiesen, wenn man jetzt im TNA rechts auf das icon klickt,
wird das popupmenü auch geöffnet.
Nun kommt das problem, das popupmenü soll (wie normal beim TNA popupmenü) sich wieder ausblenden, wenn man ins leere klickt, jedoch bleibt das popupmenü immer geöffnet. Gibt es eine möglichkeit dies zu verhindern ?

fLaSh11 2. Mär 2007 22:57

Re: Popupmenü blendet sich nicht mehr aus
 
Jetzt wo du es sagst, fällt mir auf, dass das Programm MSI PC Alert das gleiche Problem hat...

Van HelF 2. Mär 2007 23:33

Re: Popupmenü blendet sich nicht mehr aus
 
^^, ja und das ganze ist leicht nervig, da das popupmenü solange aufbleibt, bis man einen eintrag anklickt.

Luckie 2. Mär 2007 23:36

Re: Popupmenü blendet sich nicht mehr aus
 
http://www.michael-puff.de/Developer...tiges/TNA.html

Der Trick ist vorher SetForeGroundWindow aufzurufen.

Van HelF 3. Mär 2007 08:40

Re: Popupmenü blendet sich nicht mehr aus
 
Ok, jetzt blendet sich das popupmenü wieder aus, wenn man woanders hinklickt, aber jetzt öffnet sich immer beim rechtsklick auf das icon meines programms im TNA ,meistens das eigenschafts popupmenü der startleiste mit :gruebel:

Helmi 3. Mär 2007 10:47

Re: Popupmenü blendet sich nicht mehr aus
 
Hallo Luckie,

das mit SetForegroundWindow funktioniert aber auch nur, weil du in deinem Beispiel eine Form hast

Delphi-Quellcode:
procedure TForm1.WndProc(var Msg: TMessage);
var
  Point: TPoint;
begin
  // WM_USER + 20 ist unsere TNA Icon Nachricht
  if Msg.Msg = WM_USER + 20 then
  begin
    // im lParam steht die Nachricht
    case Msg.lParam of
      // rechte Taste für Menü
      WM_RBUTTONDOWN:
        begin
          SetForegroundWindow(Handle);
          GetCursorPos(Point);
          PopUpMenu1.PopUp(Point.X, Point.Y);
        end;
Ich hab auch eine TrayIcon-Komponente, die aber auf TComponent aufbaut und da hab ich leider keine Form und dadurch auch kein Handle. (jedenfalls hab ich keines gefunden).

Ich hab nämlich das selbe problem mit dem Dauer-im-Vordergrund-Sein des PopUps bei Nicht-draufklicken :-)

Luckie 3. Mär 2007 11:16

Re: Popupmenü blendet sich nicht mehr aus
 
Wieso hast du kein Handle von einer Form? Schwebt deine Komponent in der Luft über dem Desktop?

Helmi 3. Mär 2007 13:31

Re: Popupmenü blendet sich nicht mehr aus
 
Zitat:

Zitat von Luckie
Wieso hast du kein Handle von einer Form? Schwebt deine Komponent in der Luft über dem Desktop?

Äääh, ja! :mrgreen: :mrgreen: :mrgreen:
an einem Faden von Desktop.Top hängend :mrgreen:

aber ok - hätt ich selbst draufkommen können - muss ich mal ausprobieren :-)

Van HelF 4. Mär 2007 12:22

Re: Popupmenü blendet sich nicht mehr aus
 
weiss jemand, wie ich es verhindern kann, dass beim rechtsklick auf mein tna icon, das eigenschafts menü der taskleiste aufgeht ?

Daniel G 4. Mär 2007 12:25

Re: Popupmenü blendet sich nicht mehr aus
 
Zitat:

Zitat von Van HelF
weiss jemand, wie ich es verhindern kann, dass beim rechtsklick auf mein tna icon, das eigenschafts menü der taskleiste aufgeht ?

Genauer zielen? :gruebel:

Wie sieht denn dein Code jetzt aus?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.
Seite 1 von 2  1 2      

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