Windows Resizen
From: David McGurty (jimmy123_at_gmx.net)
Date: 12/16/04
- Next message: Meier Rudolf: "throw"
- Previous message: mannelpoi: "Debugging nicht möglich - Problem mit Symboldateien?"
- Next in thread: Martin Richter [MVP]: "Re: Windows Resizen"
- Reply: Martin Richter [MVP]: "Re: Windows Resizen"
- Reply: Wilhelm Noeker: "Re: Windows Resizen"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 16 Dec 2004 18:05:21 +0100
Moin Moin!
Ich arbeite gerade an einem MFC Programm und bin auf ein kleines Problem
gestoßen:
Ich möchte, dass das Window, wenn es resized wird, nicht sofort die neue
Größe annimmt, sondern erst wenn die Größe des Windows ganzzahlig durch
einen bestimmten Wert teilbar ist. Anders gesagt: Es soll sich in bestimmten
Abständen resizen. Dafür habe ich die WM_SIZING Message abgefangen.
In der MSDN steht, dass wenn man die OnSizing Methode der Basisklasse
aufruft, werden nicht die übergeben Parameter berücksichtigt, sondern die
ursprünglichen, die auch mit der Message gesendet wurden:
"This member function is called by the framework to allow your application
to handle a Windows message. The parameters passed to your function reflect
the parameters received by the framework when the message was received. If
you call the base-class implementation of this function, that implementation
will use the parameters originally passed with the message and not the
parameters you supply to the function."
Daher kann ich die Größe des Windows nicht verändern, indem ich einfach die
Funktion der Basisklasse mit anderen Parametern aufrufe. Wenn ich aber
einfach die Größe des Windows mit SetWindowPos ändere, flickert das Window
beim resizen natürlich. Wie kann ich das also so hinbekommen, dass es nicht
flickert?
Ich habe auch versucht, die Message nicht mit den Handlern abzufangen,
sondern indem ich die WindowProc überschreibe und die WindowProc der
Basisklasse nicht aufrufe, wenn die Größe des Windows nicht ganzzahlig durch
den Wert teilbar ist, aber das hat auch nichts geändert.
Und noch eine andere Frage:
Wie kann man die minimale bzw. maximale Größe eines Windows festlegen,
sodass es beim Resizen diese Werte nicht über- bzw. untersteigt? Muss man
das auch "manuell" über die WM_SIZING Messages abfangen, oda gibts dafür
eine einfache Funktion??
Danke für eure Hilfe!!
- Next message: Meier Rudolf: "throw"
- Previous message: mannelpoi: "Debugging nicht möglich - Problem mit Symboldateien?"
- Next in thread: Martin Richter [MVP]: "Re: Windows Resizen"
- Reply: Martin Richter [MVP]: "Re: Windows Resizen"
- Reply: Wilhelm Noeker: "Re: Windows Resizen"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|