function LockControl(c: TWinControl; lock: boolean):boolean; begin result := lock; if (c=nil) or (c.Handle=0) then exit; if lock then begin SendMessage(c.Handle,WM_SETREDRAW,0,0); end else begin SendMessage(c.Handle,WM_SETREDRAW,1,0); RedrawWindow(c.Handle,nil,0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN); end; end;
oder mit
Code:
LockWindowUpdate(0); LockWindowUpdate(1);
zu arbeiten, was bei mir aber leider nicht funktioniert.
Wie löst ihr dieses Problem?
Danke schonmal
Wölfchen
Zuletzt geändert von Wölfchen am So Okt 03, 2010 07:36, insgesamt 1-mal geändert.
Registriert: Do Mär 05, 2009 20:17 Beiträge: 284 Wohnort: Kaiserslautern
Auch diese Frage habe ich nach dauerhaftem weitergoogeln lösen können... Falls jemand mal das gleiche Problem hat, das hier hat mir geholfen:
und zwar ist die Lösung in diesem Beitrag zu finden, das gezeigte Grundgerüst beinhaltet eine von TPanel erbende Klasse TGLPanel und für diese wird dann scheinbar über die beiden zusätzlichen Methoden
Code:
procedure TglPanel.WMEraseBkgnd(var Message: TWmEraseBkgnd); begin Message.Result := 1; end;
procedure TglPanel.WMPaint(var Message: TWMPaint); var PS:TPaintStruct; begin BeginPaint( Handle, PS); if Assigned(FOnPaintEvent) then FOnPaintEvent(Self); EndPaint( Handle, PS); Message.Result := 0; end;
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.