Ver Mensaje Individual
  #11  
Antiguo 26-11-2021
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Ahora que mencionas eso. Hace un tiempo manejé algo parecido. En mi caso, era cambiando el ActivePage de un PageControl. Y al igual que a ti se veía cuando dibujaba cada control y era lento.

Buscando acá y allá. En StackOverflow (creo que aquí TLabel and TGroupbox Captions Flicker on Resize) mencionaban algo de eso y encontré el siguiente procedimiento.

Código Delphi [-]
procedure EnableComposited(WinControl: TWinControl);
var
  i: Integer;
  NewExStyle: DWORD;
begin
  NewExStyle := GetWindowLong(WinControl.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED;
  SetWindowLong(WinControl.Handle, GWL_EXSTYLE, NewExStyle);

  for i := 0 to WinControl.ControlCount-1 do
    if WinControl.Controls[i] is TWinControl then
      EnableComposited(TWinControl(WinControl.Controls[i]));
end;

Le hago el llamado correspondiente previo a cambiar el ActivePage del pagecontrol y ya no muestra los controles

Código Delphi [-]
EnableComposited(PageControl1);
PageControl1.ActivePageIndex := 0;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita