Empêcher un TControl de se rafraichir/redessiner

procedure LockControl(c: TWinControl; bLock: Boolean);
begin
if (c = nil) or (c.Handle = 0) then Exit;
if bLock then
SendMessage(c.Handle, WM_SETREDRAW, 0, 0)
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;

procedure TForm1.Button1Click(Sender: TObject);
begin
LockControl(DBGrid1, True);
try
// Traitement sur la DBGrid1
finally
LockControl(DBGrid1, False);
end;
end;

//Utiliser pour les composants ayant une propriété TStrings ou TItem
//(TMemo,TListView,...) Lines.BeginUpdate and Lines.EndUpdate
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour12/09/2004
VisualisationVu 1664 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Surface
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur