AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dialog minimiert sich nicht

Ein Thema von Luckie · begonnen am 29. Mai 2002 · letzter Beitrag vom 30. Mai 2002
Antwort Antwort
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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 30. Mai 2002, 01:22
Moin Luckie,

lange nicht gesehen

Aber nun zu Deinem Problem.
Versuchs mal ersatz Weise mit

Code:
SetWindowLong(hDlg,GWL_STYLE,GetWindowLong(hDlg,GWL_STYLE) and not WS_VISIBLE);
(statt ShowWindow, versteht sich)

Hab' ich gestern erst so benutzt (bis mir einfiel, dass ich das bei VCL ja einfacher haben kann)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3
  Alt 30. Mai 2002, 08:26
Tja, so geht es manchmal und dann triift man sich wo ganz anders wieder.

Aber zu deinem Vorschlag: Geht auch nicht. Ich verstehe es einfach nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Okay, dann will ich auch mal

  Alt 30. Mai 2002, 18:03
Sende doch mal ein WM_SYSCOMMAND mit SC_MINIMIZE, testweise.
Vielleicht geht das ja?

Ach ja: ich bin jetzt auch hier.
*Zensiert* Erste Verfahrnung
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 30. Mai 2002, 18:09
Hallo, schön dich hier zu sehen.

Im Spotlight wurd emir geholfen, denke ich mal, ich habe es noch nicht ausprobiert. Aber so dringend ist es ja nun nicht mehr.
Wenn man den Dialog mit CreateDialog aufruft, braucht man eine Nachrichtenschleife und da soll es funktionieren, wenn man es da einbaut.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6
  Alt 30. Mai 2002, 18:50
Ähem, vergiss meinen Vorschlag.
Der hätte eh nicht funktioniert. Hab´s gerade mal probiert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7
  Alt 30. Mai 2002, 19:04
Hatte ich übrigens auch schon alles ausprobiert, bin ja kein Anfänger mehr .
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz