Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi MainForm minimieren - UnterForm sichtbar (https://www.delphipraxis.net/206-mainform-minimieren-unterform-sichtbar.html)

Yheeky 19. Jun 2002 20:29


MainForm minimieren - UnterForm sichtbar
 
Hi,

ich habe bei einem Projekt eine 2.Form, die ich mit dem Start von Form1 anzeigen lasse. Wenn ich aber nun die MainForm Form1 minimiere, wird auch automatisch Form2 minimiert, was ich aber garnicht möchte. Wie kann ich das verhindern?

Gruß Yheeky

Daniel B 19. Jun 2002 20:32

Hi,

du könntest im OnShow von Form2, form1.Hide oder minimize, schreiben.

Grüsse, Daniel :)

Yheeky 19. Jun 2002 20:37

Beide Formen werden aber zur gleichen Zeit angezeigt. Das geht ja dann so garnicht. Ich habe die beiden Formen vor mir und möchte Form1 minimieren und dann minimiert sich Form2, was sie aber nicht soll.

Gruß Yheeky

Daniel B 19. Jun 2002 20:48

Hi,

habs misverstanden, sorry.
Du könntest aber im OnMinimize von Form1, Form2.Show; schreiben. Ich kanns nicht ausprobieren, sollte aber gehen.

Grüsse, Daniel :)

Yheeky 19. Jun 2002 21:38

Eine Form hat kein OnMinimize Ereignis oder muss ich das irgendwie in den Quellcode schreiben?

Gruß Yheeky

Daniel B 19. Jun 2002 21:58

Neuer Versuch. Ich hab leider kein Dlephi da und kann deswegen nicht nachschauen.

das Ereignis OnHide tritt auf, wenn das Formular verborgen wird, also auch dann, wenn Close mit caHide aufgerufen wird.

Probiers mal. Ich bin mir nicht sicher ob Onhide auftritt wenn man es minimiert. Vielleicht kann mal jemand in der OH nachschauen, ich kanns nicht.

Grüsse, Daniel :)

MrSpock 20. Jun 2002 06:46

Hallo yheeky,

es kommt darauf an, wie du das Hauptformular minimierst. Nutzt du dazu die Minimize Methode von TApplication werden auch die anderen Formulare, die ja Kinder von Application sind minimiert.

Du kannst aber folgendes in OnCreate machen:

[code:1:c4de3a7777]
procedure TForm1.FormCreate(Sender: TObject);
begin

Yheeky 20. Jun 2002 12:45

Hi,

hat leider auch beides nicht funktioniert :(
Weiss noch jemand was?

Gruß Yheeky

toms 20. Jun 2002 13:11

Hi,

Überschreibe die CreateParams und weise dem Parent-Handle der 2. Form
den Desktop zu.

Code:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm2 = class(TForm)
  private
   { Private-Deklarationen }
   procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.CreateParams(var params: TCreateParams);
begin
  inherited CreateParams(params);
  params.ExStyle := params.ExStyle or WS_EX_APPWINDOW;
  params.WndParent := GetDesktopwindow;
end;

end.

MrSpock 20. Jun 2002 14:21

Hallo Yheeky,

ich habe den Code bei mir ausprobiert (den mit WindowState) und er funktioniert. Was passiert denn bei dir? Wie wird deine Form2 (die, die nicht verkleinert werden soll) erzeugt? Automatisch oder erzeugst du sie manuell mit TForm.Create? Falls letzteres zutrifft, welchen Parameter übergibst du bei Create?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.
Seite 1 von 3  1 23      

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