Funktion zum löschen von Fensterbereichen
-
denk ma das es hier rein gehört,
bin mir aber nicht sicher, da ich eine funktion suche und nur glaube, dass es sie in der WIN-API gibt. Ich suche eine Funktion die nur einen Bestimmten teil eines Fensters löscht. Gibt es vielleicht sowas ähnliches:clearRECT(const RECT *rc);freue mich auf antworten
Neercseulb
-
Ich nehme mal an, dass Du InvalidaRect suchst. Allerdings erklärt diese Funktion den Bereich nur für ungültig. Das Löschen muss das Fenster in WM_PAINT selbst erledigen.
-
ja,
dass weiß ich, aber wie lösch ich das dann?
Es gibt zwar eraseBackground(), aber wenn ich das benutze sin die Buttons, etc. weg. Ich brauch also ein funktion womit ich bestimmen kann was gelöscht wird(im notfall eine Pixellöschfunktion - dann lösch ich halt jeden pixel einzeln
).
Kennst du da eine?
-
Du irrst. Ich vermute, Du hast noch nicht wirklich verstanden wie WM_APINT arbeitet.
WM_ERASEBKGND löscht den gesamten Bereich, der ungültig ist bzw. neu gezeichnet werden muss.
WM_PAINT zeichnet dann alles was notwendig ist in diesen Bereich.Überall da wo WM_PAINT nichts hinzeichnet ist also der Hintergrund von WM_ERASEBKGND zu sehen, also quasi gelöschter Bereich.
-
ok,
aber dann hab ich immer noch das Problem, dass meine Buttons, etc. weg sind.
Dann sollte ich aber ehr im wx-Forum anfragen, da ich das ganze mit wxWidgets mach.
-
Wenn Deine Buttons Child-Windows sind, dann kannst Du im Parent WS_CLIPCHILDREN verwenden, damit Childcontrols nicht überschrieben werden.
-
das problem hat sich erledigt. ich hatte nur einen denkfehler in meinem Programm...
Danke für die Antworten.