AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster zu langsam

Ein Thema von Pseudemys Nelsoni · begonnen am 11. Mai 2004 · letzter Beitrag vom 14. Jun 2004
 
Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Fenster zu langsam

  Alt 14. Jun 2004, 21:48
Hi,

genau mit diesem Problem kämpfe ich auch schon eine Weile.

Habe in der Zeit ca. 3 verschiedene Ansätze gefunden, von denen jedoch keiner perfekt ist.
Ein Versuch davon, indem einfach die ClientArea gesperrt wird:
Delphi-Quellcode:
procedure TfrmBase.LockClientArea(lock: Boolean);
begin
  with Application.MainForm do
  begin
    if lock then
      SendMessage(ClientHandle, WM_SETREDRAW, 0, 0)
    else
    begin
      SendMessage(ClientHandle, WM_SETREDRAW, 1, 0);
      RedrawWindow(ClientHandle, nil, 0, RDW_INVALIDATE or RDW_ERASE or RDW_ALLCHILDREN);
    end;
  end;
end;

procedure TfrmBase.WMMDIActivate(var Message: TWMMDIActivate);
begin
  LockClientArea(Message.ActiveWnd <> Handle);
  inherited;
end;

procedure TfrmBase.WMSysCommand(var Message: TWMSysCommand);
begin
  if (Message.CmdType and $FFF0 = SC_MAXIMIZE) then
  begin
    LockClientArea(True);
    inherited;
    LockClientArea(False);
  end
  else
    inherited;
end;
Noch ein Versuch, bei dem die Animation halbwegs deaktiviert wird:
Delphi-Quellcode:
procedure TfrmBase.SetAnimation(Value: Boolean);
var
  Info: TAnimationInfo;
begin
  Info.cbSize := SizeOf(TAnimationInfo);
  BOOL(Info.iMinAnimate) := Value;
  SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
end;
Den 3. Versuch hab ich nicht mehr, der hat auch irgendwie garnicht funktioniert.

Der beste Effekt, den ich damit erzielen konnte war der, dass zuerst das Fenster normal gezeichnet wird, jedoch ohne jeglichen Inhalt (also grau), dann maximiert wird und dann eben wieder gezeichnet. Aber es erscheint dennoch als normales Fenster zuerst, bevor es maximiert dargestellt wird. Das hab ich leider noch nicht wegbekommen.
Vielleicht findet ja noch jemand die Lösung...
Markus Stein
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz