beim maximieren bzw restore der fenstergroesse verschwinden die controls
-
hola leute
wenn ich rechts oeben ueber die buttons das fenster maximiere bzw restore oder das selbe ueber das menu links oben mache, dann verschwinden alle controls.
wenn ich ins fenster reinklicke und ein control erwische dann erscheint es wieder.
ich passe die pos und groesse der controls bei WM_SIZE und WM_SIZING an. das funktioniert auch wenn ich ich mit der maus die groesse aendere.schon mal jemand das problem gehabt ?
Meep Meep
-
Mal InvalidateRect am Ende von WM_SIZE aufgerufen?
-
Falscher Fensterstil gewählt?
CS_HREDRAW CS_VHREDRAW fehlt. Dann bekommst Du keinen neuen WM_PAINT.Ansonsten tippe ich auf falsche Nachrichten Behandlung. Evtl. wird irgendwo die DefWindowProc nicht aufgerufen...
-
danke fuer den hint.
es war ein falscher return value.
sowas von inkonsistent hab ich auch noch nie gesehen.
WM_SIZE braucht 0 und WM_SIZING braucht TRUE.
gibts da irgendwelche regeln ? oder muss man da echt fuer jede WM nachgucken welchen return wert man braucht ?Meep Meep
-
Im Allgemeinen: JA!
Aber:
1. Der return Wert vom WM_SIZE ist wurscht. Es wird immer allgemein empfohlen 0 zurück zu geben.
2. WM_SIZING ist eine andere Liga. Durch 1 wird gesagt: Ich habe es selbst erledigt, 0 sagt: System Du musst noch machen.Das hat gar nichts mit inkonsistent zu tun... zudem braucht es Dich ja auch nicht zu kümmern, wenn Du DefWindowProc benutzt.
WENN, ja wenn Du eine Nachricht behandelst musst Du auch den "richtigen" Rückgabewert angeben und was richtig ist sagt eben die Doku, bzw. ist angepasst an das was Du benötigst.