Das Parent (also die Scrollbox) bietet mir ebenfalls nicht die BeginUpdate/EndUpdate Prozeduren an :-/
also ich habs jetzt mal so probiert:
Delphi-Quellcode:
LockWindow(scrollbox.Handle);
scrollbox.Visible := False;
for i:=1 to 200 do
begin
label_name[i].Caption:=data.names[i];
label_wert[i].Caption:=data.value[i];
end;
scrollbox.Visible := True;
UnLockWindow(scrollbox.Handle);
mit
Delphi-Quellcode:
procedure LockWindow(
const Handle: HWND);
begin
SendMessage(
Handle, WM_SETREDRAW, 0, 0);
end;
procedure UnlockWindow(
const Handle: HWND);
begin
SendMessage(
Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(
Handle,
nil, 0,
RDW_ERASE
or RDW_FRAME
or RDW_INVALIDATE
or RDW_ALLCHILDREN);
end;
Aber es flimmert immer noch, da ich die Werte z.T. mehrfach in der Sekunde ändere. Allerdings ist es subjektiv nicht mehr so schlimm wie vorher...
Ich schau mal, ob ich da noch was besseres finde...