Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Flackern bei vielen Komponenten

  Alt 31. Mär 2020, 13:20
Bei deiner Variante würde ich mich fragen wer eigentlich all die vielen Handles freigibt.

Joar, aber ich glaub das klingt mehr hiernach.
EndDeferWindowPos müsste doch das Handle vom BeginDeferWindowPos bekommen.
Delphi-Quellcode:
{ H := BeginDeferWindowPos(3);
try
  H2 := DeferWindowPos(H, Edit1.Handle, 0, x1, y1, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
  H2 := DeferWindowPos(H2, Edit2.Handle, 0, x2, y2, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
  DeferWindowPos(H2, Edit3.Handle, 0, x3, y3, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
finally
  EndDeferWindowPos(H);
end; }


H := BeginDeferWindowPos(3);
try
  H2 := H;
  H2 := DeferWindowPos(H2, Edit1.Handle, 0, x1, y1, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
  H2 := DeferWindowPos(H2, Edit2.Handle, 0, x2, y2, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
  H2 := DeferWindowPos(H2, Edit3.Handle, 0, x3, y3, 0, 0, SWP_NOACTIVATE or SWP_NOZORDER or SWP_NOSIZE);
  if H2 = 0 then ; // wegen Warnung, dass letztes H2 nicht genutzt wird
finally
  EndDeferWindowPos(H);
end;
(könnte innen so aussehn, als wenn das Handle ein Pointer auf ein Array ist und die Returned-Handles dann darauf rumrutschen)
$2B or not $2B
  Mit Zitat antworten Zitat