![]() |
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 |
Hi,
du könntest im OnShow von Form2, form1.Hide oder minimize, schreiben. Grüsse, Daniel :) |
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 |
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 :) |
Eine Form hat kein OnMinimize Ereignis oder muss ich das irgendwie in den Quellcode schreiben?
Gruß Yheeky |
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 :) |
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 |
Hi,
hat leider auch beides nicht funktioniert :( Weiss noch jemand was? Gruß Yheeky |
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. |
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 13:35 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