![]() |
Problem mit TNA-Popupmenü...
Ich habe in meinem Programm ein Popup-Menü, welches beim Rechtsklick auf das TNA-Icon geöffnet wird. Es gibt aber ein grosses Problem....
In meinem Programm verrichtet u.a. auch ein TWebBrowser seinen Dienst und wenn eben dieser mal wieder eine Seite lädt, wird das PopUp-Menü ausgeblendet :wall: ... Wenn ich allerdings das SetForegroundWindow weglasse habe ich natürlich ein anderes Problem, wenn der User bei offnenem Menü irgendwo anders hinklickt... was kann man da tun? An besten wäre sicher, wenn es eine Möglichkeit gäbe den TWebBrowser "einfrieren" zu lassen und nach schliessen des Menüs an genau der Stelle, wo er angehalten wurde weiter machen zu lassen.
Delphi-Quellcode:
procedure TForm1.WndProc(var Msg: TMessage);
var rCursor: TPoint; begin if Msg.Msg = WM_USER + 20 then begin case Msg.lParam of WM_RBUTTONDOWN: begin { aktuelle Cursoposition holen } GetCursorPos(rCursor); { Popupmenü verschwindet wenn ein Klick außerhalb des Popupmenüs erfolgt } SetForegroundWindow(Self.Handle); { Das Popupmenü erscheint an der gewünschten Position in dem TNA } PopupMenu1.Popup(rCursor.x, rCursor.y); end; WM_LBUTTONDBLCLK: begin Visible := True; Application.Restore; end; end; end; inherited; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz