Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wechsel Fullscreen <-> Normaler Windowsmodus flackert stark (https://www.delphipraxis.net/40478-wechsel-fullscreen-normaler-windowsmodus-flackert-stark.html)

Benjin 16. Feb 2005 12:16


Wechsel Fullscreen <-> Normaler Windowsmodus flackert
 
Hallo,

ich habe über zwei speedbuttons eine Funktion in ein Programm integriert, welche das Programm in einen Vollbildmodus schaltet bzw. wieder in einen normalen windowsmodus.
Nun klappt dies ganz fantastisch, jedoch flackert während des Neuzeichnens des Anwendungsfensters dasselbige sehr stark.
Ich habe schon versucht, die Form auf DoubleBuffered zu setzen, das hat leider nicht den geringsten Effekt gehabt.


Kann mir jemand helfen?


Vielen Dank, Jan

toms 16. Feb 2005 12:24

Re: Wechsel Fullscreen <-> Normaler Windowsmodus flack
 
Hi,

Was zeichnest du denn auf die Form, welche Komponenten hast du drauf?

Benjin 16. Feb 2005 12:33

Re: Wechsel Fullscreen <-> Normaler Windowsmodus flack
 
Ein Treeview, ein TWebBrowser, ein Editfeld, ein Panel ( der je nach anwendungsstatus visible oder nicht is) und einige buttons und speedbuttons...

toms 16. Feb 2005 12:45

Re: Wechsel Fullscreen <-> Normaler Windowsmodus flack
 
Zitat:

ich habe über zwei speedbuttons eine Funktion in ein Programm integriert, welche das Programm in einen Vollbildmodus schaltet bzw. wieder in einen normalen windowsmodus.
Post mal den Code, wie du die Form in den Vollbildmodus schaltest.
Vielleicht lässt sich dort etwas optimieren.

Benjin 16. Feb 2005 12:56

Re: Wechsel Fullscreen <-> Normaler Windowsmodus flack
 
Der Switch in den Vollbildmodus flackert nun ein bisschen weniger, nachdem ich Variablen zur Speicherung der Formgröße eingeführt habe, und beim Beenden des FS Modus die Form auf diesselbe Größe zwinge.
Trotzdem ist noch deutlich mindestens einmal ein redraw sichtbar, d.h. ich sehe einen kurzen Moment die unter dem Anwendungsfenster liegenden Fenster bzw. den Desktop.

Delphi-Quellcode:
procedure TForm1.SpdBtnStartFSClick(Sender: TObject);
begin
  LastHeight := Form1.Height;
  LastWidth := Form1.Width;
  FormStyle := FsStayOnTop;
  Height   := Screen.Height;
  Width    := Screen.Width;
  Top      := 0;
  Left     := 0;
  BorderStyle := BsNone;
  SpdBtnStartFS.Visible := False;
  SpdBtnQuitFS.Visible := True;
  Form1.Drucken1.Visible := False;
  WBArticlDispl.Navigate(Adress + IntToStr(AIndexNav) + '.html\', EmptyParam);
end;

procedure TForm1.SpdBtnQuitFSClick(Sender: TObject);
begin
  Form1.Height := LastHeight;
  Form1.Width := LastWidth;
  FormStyle := FsNormal;
  BorderStyle := BsSizeable;
  SpdBtnQuitFS.Visible := False;
  SpdBtnStartFS.Visible := True;
  Form1.Drucken1.Visible := True;
  WBArticlDispl.Navigate(Adress + IntToStr(AIndexNav) + '.html\', EmptyParam);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 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