eine callback dazu zwingen WM_PAINT auszuführen
-
hallo.
ich will meinem child beibringen seinem parent zu sagen, das es erneut WM_PAINT ausführen soll.case WM_PAINT: hdc = BeginPaint(hwnd, &ps); SelectObject(hdc, CreateSolidBrush(RGB(zr,zg,zb))); Rectangle(hdc,10,300,110,400); EndPaint(hwnd, &ps); return 0 ;das steht im parentwindow dabei sind zr,zg und zb globale variablen, die von meinem child geändert werden. nachdem ändern soll das parent dann die zeichnung aktualisieren. wie bekomm ich das hin?
-
moin meister ...
ein UpdateWindow() ? oder etwas gezielter RedrawWindow() sollte helfen ...
MfG
RB
-
InvalidateRect
-
moin meister ...
oder auch das ...
-
das funzt beides net. hatte es auch schon ausprobiert.
die callback die das aufrufen soll ist:
LRESULT CALLBACK FrameCallbackProc(HWND hwnd, LPVIDEOHDR lpVHdr)
also eine von nem webcamfenster.
ich habe keinen plan warum des net klappt
-
Mit InvalidateRect sollte das eigentlich schon klappen - du musst aber schon das Fenster-Handle des Parent angeben

Deine WM_PAINT ist so übrigens auch nicht ganz optimal (Memory-Leak), da du bei jedem Durchlauf ein neuen Brush erzeugst, diese aber allesamt nie freigibst
