Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Alle Fenster minimieren!!!?!? (https://www.delphipraxis.net/11659-alle-fenster-minimieren.html)

Christof 11. Nov 2003 14:06


Alle Fenster minimieren!!!?!?
 
Hallo,

ich habe ein Form1 das Hauptformular ist, ein Form2 das von dem Hauptformular aufgerufen wird.
Wenn ich jetzt das Form2 minimiere, dann legt sich dsa Form2 ÜBER die Taskleiste und nicht in Taskleiste.

Wie kann ich es machen, das wenn ich Form2 minimiere Form1 auch minimiert wird (ich denke das ist das Problem)?

Wenn ich dann das Programm wieder von der Taskleiste aus maximiere sollte auch Form2 angezeigt werden?



Gruss

Christof

scp 11. Nov 2003 15:53

Re: Alle Fenster minimieren!!!?!?
 
Das mit dem über der Taskleiste kann ich auch nicht verstehen.
Aber du könntest es so oder ähnlich machen:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    procedure WMSIZE (var Message: TWMSIZE); message WM_SIZE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.WMSIZE (var Message: TWMSIZE);
begin
  If Assigned(Form2) then
    begin
      If (Message.SizeType = SIZE_MINIMIZED) then
        Form2.Hide
      else
      If (Message.SizeType = SIZE_RESTORED) then
        Form2.Show;
    end;

  inherited;
end;

Christof 11. Nov 2003 20:23

Re: Alle Fenster minimieren!!!?!?
 
Das versuch ich mal.

Danke für die schnelle Antwort!

Christof 12. Nov 2003 13:09

Re: Alle Fenster minimieren!!!?!?
 
Das hat nicht funktioniert.
Die Methode wird nicht berüht wenn das Form2 minimiert wird.

Wie gesagt das Form2 soll minmiert werden und das Form1 (Hauptformular, ist auf Status Hide gesetzt) soll auch minmiert werden. Dann müsste es gehen denke ich. Es gibt nur keine Ereignis (zB. OnMinimize) das ich beim Form2 benutzen könnte???!??

Eine andere Idee?


Zitat:

Zitat von scp
Das mit dem über der Taskleiste kann ich auch nicht verstehen.
Aber du könntest es so oder ähnlich machen:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    procedure WMSIZE (var Message: TWMSIZE); message WM_SIZE;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.WMSIZE (var Message: TWMSIZE);
begin
  If Assigned(Form2) then
    begin
      If (Message.SizeType = SIZE_MINIMIZED) then
        Form2.Hide
      else
      If (Message.SizeType = SIZE_RESTORED) then
        Form2.Show;
    end;

  inherited;
end;


scp 13. Nov 2003 19:04

Re: Alle Fenster minimieren!!!?!?
 
Achso, ich habe da was vertauscht. Ich dachte, das Form2 minimiert wird, wenn Form1 minimiert wurde.

Du musst meinen Code nur in Form2 einsetzten und alle Bezeichner Form2 / Form1 einfach vertauschen.

Das hier ist quasi eine OnMinimize Funktion.

Christof 13. Nov 2003 21:09

Re: Alle Fenster minimieren!!!?!?
 
Zitat:

Zitat von scp
Achso, ich habe da was vertauscht. Ich dachte, das Form2 minimiert wird, wenn Form1 minimiert wurde.

Du musst meinen Code nur in Form2 einsetzten und alle Bezeichner Form2 / Form1 einfach vertauschen.

Das hier ist quasi eine OnMinimize Funktion.


Das habe ich versucht. Allerdings kommen da Windows Schutzverletzungen.

scp 13. Nov 2003 23:27

Re: Alle Fenster minimieren!!!?!?
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habs jetzt mal in einem Projekt zusammengefasst, siehe Anhang.

Das "Feintuning" musste halt selbst übernehmen, aber klappen tut es jetzt schon ganz gut, Schutzverletzungen tauchen auch keine auf.


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