Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hauptformular ausblende beim wechsel auf ein anderes Form ? (https://www.delphipraxis.net/1411-hauptformular-ausblende-beim-wechsel-auf-ein-anderes-form.html)

Megabyte 23. Nov 2002 16:33


Hauptformular ausblende beim wechsel auf ein anderes Form ?
 
Hallo, wer kann mir helfen bin Neuling :P in Delphi.

Ich habe folgendes Problem:
habe ein Programm das mit einem Form1 startet.Auf diesem Form1 habe ich Buttons die weiter Formulare öffnen (Form2,3,4,5 usw.)soweit funktioniert es. Nur leider sind immer beide Formulare sichtbar.
Wie kann ich machen ,dass nur noch Form2 sichtbar ist und das Form1=Mainform verschwindet.Auf dem Form2 ist dann wieder ein Button mit dem ich zurück auf Form1 komme.
Danke für Eure Hilfe
cu Megabyte :coder:

d3g 23. Nov 2002 16:56

Hi Megabyte,

du kannst doch einfach im OnShow-Ereignis von Form 2/3/4/5 Form1.Hide eintragen, beim Klick auf den Button, der zu Form1 zurückführt, dann Form1.Show.

MfG,
d3g

Christian Seehase 23. Nov 2002 17:02

Moin MegaByte,

herzlich willkommen in der Delphipraxis.

Die Formulare habe eine Eigenschaft Visible. Wird diese auf false gesetzt, so wird das Formular ausgeblendet.
Das gilt natürlich auch für das MainForm.

[EDIT]Mist, zu spät :mrgreen:[/EDIT]

Megabyte 23. Nov 2002 18:04

Irgend wie versteh ich das nicht wie das geht mit der onshow funktion
Habe folgenden Code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
 uses Unit2,Unit3,Unit4,Unit5;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Showmodal;
Form1.hide
end;
wer weiss wie ich den code modifizieren muss dass Form1 unsichtbar wird wenn Form2 lädt???

Danke für eure Hilfe

Megabyte :P

Christian Seehase 23. Nov 2002 18:18

Moin Megabyte,

die Methode ShowModal zeigt das Formular an (in Deinem Falle also Form2) und wartet darauf, dass es geschlossen wird.

Folge: Form1.Hide wird erst aufgerufen, wenn Form2 wieder geschlossen wird.

Wenn Du die beiden Zeilen vertauscht klappts.

Der von d3g vorgeschlagene Weg sieht ähnlich aus:

Delphi-Quellcode:
// Mit Button1 auf Form1 wird Form2 angezeigt
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal;
end;

// Wird Form2 angezeigt, dann wird Form1 ausgeblendet
procedure TForm2.FormShow(Sender: TObject);
begin
  Form1.Hide;
end;

// Wird Form2 wieder geschlossen, so wird Form1 wieder angezeigt
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.Show;
end;

d3g 23. Nov 2002 18:20

Delphi-Quellcode:
// unit Unit1

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show;
end;

// -----

// unit Unit2

procedure TForm2.FormShow(Sender: TObject);
begin
  Form1.Hide;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  Hide;
  Form1.Show;
end;

Hansa 23. Nov 2002 18:36

Hi,

das mit dem Showmodal habe ich noch nicht ganz kapiert. Vermute aber, daß es bei mir auch Ärger macht. Kann mir das mal jemand kurz erklären ? Das taucht überall auf, aber ich weiß nicht recht damit was anzufangen.

Gruß
Hansa

P.S.: Sowas steht bei mir auch auf der Liste unerledigt, die halt nicht erledigt wird. :mrgreen:

CalganX 23. Nov 2002 18:42

ShowModal bedeutet, dass dein Form in deiner Anwendung im Vordergrund steht, du deswegen kein anderes Form aktivieren kannst... (ganz einfach)

Chris

Daniel B 23. Nov 2002 18:58

Hallo Hansa,

sobald Du ein weiteres Fenster mit ShowModal öffnest, so hast Du nur noch auf dieses ein Zugriff, nicht mehr auf das hintere. Threads und Schleifen der Unit1, bleiben z.B. auch stehen, so lange, bist Du Form2 wieder geschlossen hast, solltest Du probleme haben, öffne die Fenster mal nur mit Show, anstatt mit ShowModal.

Grüsse, Daniel :hi:

Metschu 24. Jul 2020 11:10

AW: Hauptformular ausblende beim wechsel auf ein anderes Form ?
 
Hallo zusammen,

wie kann ich in diesem Fall verhindern, das solange das MainForm versteckt ist, das Programm aus der Taskleiste verschwindet?

Danke und Gruß

Torsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Seite 1 von 2  1 2      

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