![]() |
Hallo Daniel,
so macht man das
Delphi-Quellcode:
Du initialisierst TNotifyIconData im var Abschnitt. Davon kann ich nur abraten. Schreibe Die lieber ne Methode und mach es dort.
procedure TFormWTC.ShowInTBNA;
var aNID : TNotifyIconData; begin with aNID do begin cbSize := SizeOf(TNotifyIconData); Wnd := Handle; // Hier wird das Handle des Formulars übergeben !!! uID := cTaskBarId; uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; uCallBackMessage := WM_TRAYMSG; hIcon := LoadImage(hInstance, PChar('WTC16'), IMAGE_ICON, 16, 16, 0); szTip := 'WTC'; end; Shell_NotifyIcon(NIM_ADD, @aNID); Application.ShowMainForm:=False; ShowWindow(Application.Handle,SW_HIDE); end; |
Hi,
Aber dann würd doch der linke Doppelklick auch nicht gehen, oder? Und so Sachen wie WM_TRAYMSG und so hast du auch richtig deklariert? Oder ist das vielleicht auch unter Win32 plattformabhängig? Hab ich vor wenigen Tagen erst mit Hooks erlebt, das man mit denen unter NT-Systemen wegen der verschiedenen Messages ganz anders arbeiten muss als unter 9x... Bis dann, S - tefano Nachtrag Mist, zu langsam; Mist, falscher Einfall. |
Hallo Daniel,
ich verwende RegisterWindowsMessage um den Wert für die uCallBackMessage zu erhalten. Dieser Wert ist dann systemweit eindeutig. Dann sieht das ganze so aus:
Delphi-Quellcode:
Im constructor dann
FTaskBarMessage : Word;
Delphi-Quellcode:
FTaskBarMessage := RegisterWindowMessage('JSWTCTaskBarMessage');
Delphi-Quellcode:
Die Sache funktioniert unter Win9x,NT und 2000
procedure TFormWTC.WndProc(var Message: TMessage);
begin If Message.Msg=FTaskBarMessage then begin Case Message.lParam of WM_RButtonDown : ShowPopupMenu; end; end; inherited; end; |
Hallo,
hmm, ich befürchte das es die ganze Zeit schon ging. Nur das nach dem komplizieren, das Editorfenster ja noch sichtbar ist, daher wurde die Message dahinter angezeigt. Sieht wohl so aus und da ich immer mit Strg+F2 Beende, fällt das auch nicht auf das die Message da noch irgendwo ist sondern mit verschwindet. Jetzt wird die Message angezeigt und ich kann mich jetzt mal dem Menü zuwenden... Aber trotzdem Danke vielmals für die Hilfe Jens! :thuimb: Grüsse, Daniel :hi: |
Moin Jens,
um ganz sicher zu gehen lasse ich für den zu registrierenden Text immer ein GUID generieren (STRG-SHIFT-G) |
Hallo Christian,
gute Idee. Danke |
Moin Jens,
danke für die Rückantwort. Da konnte ich mir noch mal den dusseligen Satz ( :oops: ) durchlesen und korrigieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 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-2025 by Thomas Breitkreuz