Minimieren abfangen

Ferdinand_Stehle

Grünschnabel
Hallo!


Ich hab da mal eine Frage... wie kann ich das Minimieren eines Fensters abfangen?
SysCommand und NCLButtonUp habe ich schon probiert.. diese Funktionen werden aber überhaupt nicht aufgerufen (hab ich mit Beep()) getestet...

Noch genialer wäre neben dem Minimieren-Button noch ein weiterer.. zum Tray-Minimieren... wie bei Emule.. aber das ist vermutlich noch etwas schwieriger...

Das Tray-Minimieren funktioniert schon.. nur ist das etwas umständlich wenn man das über das Menü machen muss :(

Ich hoffe ihr könnt mir helfen - Danke!

Visual Studio 2005 mit MFC
 
Geh auf WM_SYSCOMMAND und prüfe da auf SC_MINIMIZE.

Achtung, ich meine, da muss man ein paar Flags wegmaskieren, steht aber alles in der MSDN.
 
Hab ich schon versucht. Das hat nicht funktioniert.
Dann hab ich einmal ohne SC_MINIMIZE-Bedingung gemacht und ein Beep reingesetzt... diese Nachricht wurde überhaupt nicht aufgerufen!
 
Bei mir klappt das einwandfrei. Du musst das allerdings auch in das richtige Fenster einbauen lassen:

Bei MDI/SDI in MainFrame (OnSysCommand, nID == SC_MINIMIZE), bei Dialog-basierten Anwendungen natürlich in deinen Hauptdialog.
 
Lol?!
Ich hatte das in der View-Klasse!?
Wieso ist diese nachricht denn dann im Wizard drin?

Vielen Dank, klappt jetzt alles einwandfrei....:)
 
Im Prinzip kann ja jedes Fenster minimiert werden (wenn es denn den Stil hat).

Die Views sind so eine Extrawurst, ich vermute, du hättest du die Nachricht beim Minimieren eines Dokumentenfensters bekommen.

Im Wizard kann man ja teilweise auch den Typ der Klasse umschalten (zumindest in VS 6.0 ging das), da konnte man dann Nachrichten abfangen, bei denen es wirklich keinen Sinn machte.
 
Zurück