Einzelnen Beitrag anzeigen

Benutzerbild von christian.noeding
christian.noeding

Registriert seit: 26. Mai 2005
Ort: Knw.-Remsfeld
119 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Extrem langsames Aktualisieren großer Anzahl von TLabels

  Alt 29. Sep 2006, 22:03
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...
Christian Nöding
  Mit Zitat antworten Zitat