Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Dialog minimiert sich nicht

  Alt 29. Mai 2002, 18:10
Hallo, einer muß ja mal anfangen .

Ich habe einen Dialog, der sichbeim Klicken auf den Minimierenbutton in die TNA verfüchtigt, dann wird auch das Icon angezeigt. Maximiere ich ihn wieder, wird auch das Icon aus der TNA gelöscht.
Jetzt wollte ich das Programm mit einem Parameter starten, so dass es sich gleich beim Start in die TNA verzieht (, wenn man es in die Autostartgruppe packt).
Folgender Code:

Code:
case uMsg of
    WM_INITDIALOG:
    begin
      if ParamCount > 0 then
      begin
        if ParamStr(1) = '/m' then
          SendMessage(hDlg, WM_SIZE, SIZE_MINIMIZED, 0);
      end;
Und in WM_SIZE:

Code:
WM_SIZE:
    begin
     if wParam = SIZE_MINIMIZED then
      begin
        nid.cbSize := SizeOf(TNotifyIconData);
        nid.Wnd   := hDlg;
        nid.uID   := IDI_TRAY;
        nid.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
        nid.uCallbackMessage := WM_SHELLNOTIFY;
        nid.hIcon := LoadIcon(hInstance,MAKEINTRESOURCE(1));
        lstrcpy(nid.szTip, 'Delphi-Forum Code2UBB');
        ShowWindow(hDlg, SW_HIDE);
        Shell_NotifyIcon(NIM_ADD, @nid);
      end;
    end;
Nur das funktioniert nicht, das Icon erscheint zwar in der TNA aber der Dialog ist noch zu sehen.
Was mache ich also falsch? Ich verstehe es nicht, denn in WM_SIZE bekommt er ja ein: ShowWindow(hDlg, SW_HIDE);.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat