Child painten?
-
Hi,
wie kann ich manuell ein Child eines Dialoges auffordern, sich neu zu zeichnen? Mit UpdateWindow(GetDlgItem(hDlg, IDC_ITEM)) oder 'ner direkten Message geht's scheinbar nicht!?
Danke fuer Hilfe!
Gruß
Alex
-
N' Abend,
Also eingtl. sollte UpdateWindow funktionieren oder du benutzt
InvalidateRect(GetDlgItem(hDlg, IDC_ITEM), NULL, TRUE);
-
Alles klar, klappt mit InvalidateRect. Komischerweise geht UpdateWindow und direkte Message tatsächlich nicht.
-
UpdateWindow sorgt nur für eine WM_PAINT Nachricht, wenn aber zuvor nicht als ungültig markiert wurde (durchs System, oder eben über InvalidateRect), dann wird nichts gezeichnet. InvalidateRect verursacht dagegen nicht unmittelbar ein Neuzeichnen, sondern markiert nur den entsprechenden Bereich als ungültig, woraufhin das System dann zeitnah ein Neuzeichnen hervorruft. Also wenn's ganz direkt gehen soll, erst InvalidateRect und anschließend gleich noch UpdateWindow aufrufen...
-
alex. schrieb:
Alles klar, klappt mit InvalidateRect. Komischerweise geht UpdateWindow und direkte Message tatsächlich nicht.
Jop is klar warum, die sorgen auch nicht dafür, das das Fenster für ungültig erklärt wird

EDIT: 20 Sekunden zu spät, hrhr
-
Wieder was dazu gelernt. Danke!