Ich habe mich jetzt mal endlich drangesetzt, um mir mal ein bisschen die
NonVCL-Programmierung einzutrichtern. Dazu wollte ich ein kleines Programm schreiben, dass sich nur im
TNA befindet. Schwierigkeiten macht mir aber bissher noch die Nachrichtenauswertung und noch ein Problem: Wenn ich das Programm starte, erscheinz zwar das TrayIcon, jedoch verschwindet es wieder, sobald man mit der Maus darüber fährt. Das Programm läuft allerdings noch weiter. Hier der Code:
Delphi-Quellcode:
program FirstStep;
uses
Windows,Messages,ShellAPI;
var
msg: TMsg;
function AddTrayIcon: boolean;
var
IconData: TNOTIFYICONDATA;
begin
with IconData do
begin
cbSize := SizeOf(TNOTIFYICONDATA);
Wnd := hInstance;
uID := 1;
uFlags := NIF_ICON + NIF_TIP;
hIcon := LoadIcon (0, IDI_APPLICATION);
szTip := 'Tooltip';
end;
Result := Shell_NotifyIcon (NIM_ADD, @IconData);
end;
begin
if not AddTrayIcon then
exit;
while true do
begin
if not GetMessage(msg, 0, 0, 0) then
break;
TranslateMessage(msg);
DispatchMessage(msg);
end;
ExitCode := msg.wParam;
end.
Und wie schon gefragt: Wie kann ich jetzt eigentlich die Nachrichten, die mir die Nachrichtenschleife so fleißig abfängt auswerten bzw. darauf reagieren? Beim den Tuts, in denen ein Fenster erzeugt wurde, gab es eine Prozedur (oftmals names WndProc) deren Addresse beim Erzeugen der Form übegeben wurde.
Kurzum: Ich weiß nicht wie es geht und bitte um Hilfe.