AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Fenster zu langsam

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

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Fenster zu langsam

  Alt 11. Mai 2004, 09:58
hallöchen,

ich möchte ein mdi-kindfenster erstellen, ist aber ziemlich lahm so wie ich das jetzt hab.

der "code" ist zur zeit so:

Delphi-Quellcode:
Type
  TStatusWindowClass = class(TObject)
  private
    StatusWindow: TForm;
    StatusBox: TRichEdit;
    StatusTextBox: TEdit;
  public
    procedure CreateStatusWindow;
  end;

implementation

procedure TStatusWindowClass.CreateStatusWindow;
begin
  StatusWindow := TForm.Create(nil);
  StatusBox := TRichEdit.Create(StatusWindow);
  StatusTextBox := TEdit.Create(StatusWindow);
  StatusWindow.FormStyle := fsMDIChild;
  StatusWindow.WindowState := wsMaximized;
  with StatusBox do
  begin
    Parent := StatusWindow;
    Left := 0;
    Top := 0;
    Width := StatusWindow.ClientWidth;
    Height := StatusWindow.ClientHeight - 22;
  end;
  with StatusTextBox do
  begin
    Parent := StatusWindow;
    Left := 0;
    Top := StatusBox.Height + 1;
    Width := StatusWindow.ClientWidth;
    Height := 21;
  end;
end;

kann mir jemand sagen wie ichs schneller hinbekomme? ich hab die exe mal im anhang, brauch man nur starten dann sieht man was ich meine...es sollte schon zum start maximiert sein
Angehängte Dateien
Dateityp: exe project1_931.exe (173,0 KB, 27x aufgerufen)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: Fenster zu langsam

  Alt 12. Mai 2004, 21:40
^^^^^^^^
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#3

Re: Fenster zu langsam

  Alt 12. Mai 2004, 21:49
EiEiEi... jetzt hab ich den falschen Thread genommen... Sorry... Kann gelöscht werden

, sCrAPt
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: Fenster zu langsam

  Alt 12. Mai 2004, 21:53
das is nur ne einmalige sache mit dem +1, das is nämlich die statusboxhöhe, also nur der startwert... darum gehts eigentlich ja nicht *g*. Es geht darum das das fenster(das mdi child) sich erst maximiert wenn das programm bereits offen ist, man siehts ja wie es sich maximiert, ich möchte es aber so haben das es beim start bereits maximiert ist
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Fenster zu langsam

  Alt 12. Jun 2004, 16:14
weiss nun jemand eine antwort darauf? bitte 8)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Fenster zu langsam

  Alt 14. Jun 2004, 19:55
haste nicht ma versucht, einen nach dem anderen auszukommentieren, um rauszukriegen, an welchem befehl es liegt???

mach mal
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#7

Re: Fenster zu langsam

  Alt 14. Jun 2004, 19:59
@Pseudemys Nelsoni: bei mir is der code nich langsam. nimm mal das maximieren raus. oder stell bei deinem windows mal das animieren der fenster aus. ich habs aus, und bei mir is der code ncich langsam. ich schätze, dass das proggy solange an dem maximieren hängen bleibt...
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: Fenster zu langsam

  Alt 14. Jun 2004, 21:55
hallo phXql,

danke fürs testen, jo es liegt am maximieren, da ich nicht weiss wie man es bereits beim start maximiert haben kann
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
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, 22: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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz