Minimize Box manuel darstellen
-
@NoName: Hab den Code eingefügt die Minimize Box ist zwar sichtbar führt keine Aktion aus?
@CMatt: kA warum aber die Box erscheint nicht wenn ich sie im Eigenschaftsfenster aktiviere.
-
Muss man die Minimize Box dann noch aktivieren? nachdam man sie modifiziert hat
-
Also eigentlich nicht ! Merkwürdig ...

Gruß
:: NoName ::
-
Man könnte ja bei der WM_MIN.. message oder wie sie halt heist, einfach das Fenster runter legen oder?
Weiß irgendwer wie man dieses Problem sonst lösen könnte?
-
Bekommst du die Minimize Nachricht? Dann leg das Fenster einfach runter und es könnte sein, dass du auf das "Wiedergroßmachen" auch reagieren musst.
Wenn du diese Nachricht nicht bekommst, wird es etwas schwieriger - sollte aber nicht unmöglich sein.

-
Blöde Frage aber ich find die Minimize Nachricht in der MSDN einfach nicht, wie heist die?? WM_MINIMIZE ON_WM_MINIMIZE ??
-
Huch, die Nachricht gibt es wohl wirklich nicht. Würde es sie geben, wäre WM_MINIMIZE die Nachricht und ON_WM_MINIMIZE der Eintrag für die MessageMap.
Versuch einen anderen Weg, der fällt mir ein. Falls es noch einen besseren gibt, korrigiert mich bitte!

Bau die Funktion OnNcLButtonDown ein. Wenn der HitTestCode HTMINBUTTON ist, ruf ShowWindow(SW_SHOWMINIMIZED) auf.Ich hab es nicht ausprobiert, aber das sollte schon ein großer Schritt in die gewünschte Richtung sein.

-
Sieht sehr gut aus werd mich noch ein bisschen spielen das es funktioniert.
Danke estartu_de!

-
Kurze Frage hätt ich noch

Die Mimize Box funktioniert aber weil ich die OnNcLButtonDown Funktion überschrieben hab musste ich natürlich auch noch die standardsachen wie
das schließen und das verschieben neu schreiben.leider funktioniert das verschieben nicht

hab hier den code meiner funktion

void CAllControlsSheet::OnNcLButtonDown(UINT type, CPoint m_point) { CRect rect; switch (type) { case HTMINBUTTON: ShowWindow(SW_SHOWMINIMIZED); break; case HTCLOSE: /* schließen */ break; case HTCAPTION: { GetWindowRect( &rect ); MoveWindow(rect, 1); UpdateWindow(); //MessageBox("border", "border"); break; } default: break; } }
-
Kurze Frage hätt ich noch

Die Mimize Box funktioniert aber weil ich die OnNcLButtonDown Funktion überschrieben hab musste ich natürlich auch noch die standardsachen wie
das schließen und das verschieben neu schreiben.leider funktioniert das verschieben nicht

hier der code
void CAllControlsSheet::OnNcLButtonDown(UINT type, CPoint m_point) { CRect rect; switch (type) { case HTMINBUTTON: ShowWindow(SW_SHOWMINIMIZED); break; case HTCLOSE: /* schließen */ break; case HTCAPTION: { GetWindowRect( &rect ); MoveWindow(rect, 1); UpdateWindow(); //MessageBox("border", "border"); break; } default: break; } }
-
Kannst du nicht einfach die Basisklasse aufrufen?

-
erstmal sry wegen doppelpost!
ehm.. leider bin ich noch nicht so erfahren mit den MFC kannst mir das genauer erklären?
danke schon im voraus!
-
Was für eine Basisklasse hat CAllControlsSheet?
Den Klassennamen schreibst du hin, dann zwei Doppelpunkte und dann den Funktionsnamen.
Beispiel:CDieBasisklasse::OnNcLButtonDown(type, m_point);Welches die Basisklasse ist, findest du im Header, in der ersten Zeile der Klasse.
[cpp]class CAllControlsSheet : public CDieBasisklasse[/cpp]Okay?
-
ja funktioniert fettes danke

-
Das mit dem Basisklassenaufruf merk dir gut - das triffst du SEHR oft.
