Entwickler-Ecke
Windows API - Kontextmenü der Traysymbols wieder entfernen
Travis - Do 14.11.02 13:52
Titel: Kontextmenü der Traysymbols wieder entfernen
Hallo Leute,
ich bin mir jetzt nicht ganz sicher, ob das ein API-Problem ist, aber ich denke mal schon. Ich habe mit Hilfe dieser Anleitung
http://www.auq.de/viewtopic.php?t=2131&highlight=tna
ein Tray-Symbol erstellt. Das funktioniert auch soweit mit dem Kontextmenü ganz gut, jedoch bleibt das Menü im Hintergrund, wenn man nichts gewählt hat (also wenn man z.B. auf den Desktop/Taskleiste klickt, anstatt einen Eintrag auszuwählen). Normalerweise müsste es aber komplett verschwinden.
Ich hoffe, dass man halbwegs versteht, was ich meine.
Schon im voraus Danke für die Hilfe,
Travis
SteaLth - Do 14.11.02 15:25
Ich verwende immer diese procedure anstelle der in deinem Beispiel genannten WM_IconCallback:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.WMTASKBAREVENT(var Message: TMessage); // Taskbar - Klick var point : TPoint; begin case message.LParamLo of WM_LBUTTONDBLCLK : // Doppelklick begin // machwas(); end; WM_RBUTTONDOWN : // rechte Mousetaste begin SetForegroundWindow(Handle); GetCursorPos(point); PopUpMenu1.Popup(point.x, point.y); end; end; end; |
...damit verschwindet das PopUpMenu wieder wenn man woanders hinklickt.
Delete - Do 14.11.02 15:29
Die entscheidende Zeile ist übrigens SetForegroundWindow(Handle).
Travis - Do 14.11.02 15:59
Das Beispiel von SteaLth hat bei mir leider nicht funktioniert, aber durch das Ergänzen von SetForegroundWindow(Handle) hab ich eigentlich genau das erreicht, was ich erreichen wollte.
Nochmals Danke,
Travis
SteaLth - Do 14.11.02 16:06
Na blind copy&paste machen, funktioniert selten. Ein bissl Mitdenken und Zusammenhänge erkennen, sollte man schon :wink: ...aber zum Glück machen es ja manchmal andere für einen, wie zB Luckie.
Travis - Do 14.11.02 17:48
SteaLth hat folgendes geschrieben: |
Na blind copy&paste machen, funktioniert selten. |
Wenn man schon seit zig Jahren mit der Programmierung beschäftigt ist, ist einem schon klar, das "Copy&Paste" selten funktioniert. Jedoch kenne ich mich auf dem Gebiet der "Application Progamming Interface" nicht gerade gut aus. :wink:
Travis
Delete - Do 14.11.02 22:11
Habe ich es mir doch gedacht, dass das schief geht wenn ich da nichts sage. :roll:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!