Steuerelemente im Child Window werden nicht anzeigt
-
Hallo zusammen
Für mein aktuelles Projekt habe ich mir ein normales Fenster gebastelt mit diversen Steuerelementen (listbox, buttons, etc) und normalem Text. Das funktioniert einwandfrei.
Da ich aber nun einen Tab control einführen wollte, musste ich diese Steuerelemente einem neuen Child-Window zuordnen, welches bei bedarf versteckt werden kann. (Wenn der User einen anderen Tab auswählt)Das Problem ist nun folgendes: Wenn ich das Program ausführe, erscheint zwar das Parent und Child window mit allem Text und Hintegrundbild, aber keine Steuerelemente. Wenn ich nun aber das Fenster ein bisschen mit der Maus verschiebe, erscheinen alle Steuerelemente, jedoch verschwindet das Hintergrundbild und der Text

Das Child-Window ist ein normales Fenster aus der Fensterklasse des Parent-Window, mit WS_VISIBLE | WS_CHILD als style.
Ich hoffe ihr versteht mein Problem

Gruss, Gomino
-
Ich hoffe ihr versteht mein Problem
nicht wirklich, aber wenn etwas nicht gezeichnet wird, must du entweder deinen dialog dazu anregen das er sich neu zeichnet, bzw. must ihn selbst neu zeichnen.
warscheinlich legt sich ein dialog eines tab elementes bei der erstellung über den dialog der die steuerelemente beherbergt, da windows nix von alleine tut, bleibt die fläche mit den steuerelementen erst mal grau. wenn du den gesammten dialog dann mit der maus bewegst, fängt windows wieder an die dialoge neu zu zeichnen.
wie hast du die tab elemente mit den dialogen verbunden?
warscheinlich brauchst du nur ein ShowWindow(hWnd, SW_SHOW); an der richtigen stelle zu setzen.
-
Das Problem ist eher, dass Dein Control hinter einem anderen Fenster liegt und deshalb kein WM_PAINT bekommt. Schau Dir das mal im Spy++ an.
Ansonsten: Warum benutzt Du kein Property Sheet?