Einzelnen Beitrag anzeigen

MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Flackern des Formulars verhindern

  Alt 21. Mai 2005, 19:17
Wenn ich es aber wie der Tipp beschreibt mache,

Delphi-Quellcode:
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(Form1, True);
  try
    Form1.AlphaBlend := true;
    Form1.AlphaBlendValue := 135;
  finally
    LockControl(Form1, False);
  end;
end;
so bleiben überesste der "alten" Form zurück.

[add]
Das Formular ohne alpha-blending auf dem Bild exisitiert gar nocht mehr,
Windows überzeichnet es nur nicht direkt.
Angehängte Grafiken
Dateityp: bmp rest_212.bmp (387,8 KB, 53x aufgerufen)
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat