Autor Beitrag
DaViNcHi
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 25.06.06 15:55 
hallo zusammen

ich hoffe mein frage passt hier rein. hab da nämlich etwas den überblick verloren...

also hier mein problem ich möchte dass sich durch ein klick auf den button1
ein neues fenster öffnet in welchem dann ein bild mit der größe 800x600 öffnet und sich das hauptfenster minimiert nach dem schließen des bilds soll dann wieder das hauptfenster erscheinen
wie das mit mit dem bild öffenen funktioniert hab ich mittlerweile raus ;)
aber ich weiß einfahc nicht wie ich das mit dem neuen fenster und
dem minimieren/maximieren des hauptfensters mach

danke schonmal im vorraus! ich hoffe die frage unterfordert euch nicht zu sehr ^^
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 26.06.06 07:38 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Show;
  Form2.Width:=800;
  Form2.Height:=600;
  Form1.WindowState:=WSMinimized;
end;

end.
{-------------------------------------------}
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Form1.WindowState:=WSNormal;
end;

end.
DaViNcHi Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 26.06.06 16:34 
cool :) dankeschön!
da gibts bloß ein kleiness problem nach dem schließen des bildes
das hauptfenster geht nicht von selber wieder auf :(
also er beachtet die procedure bei unit 2 irgendwie nicht oder so
weil wenn ich se weg lass passiert nix (is ja logisch ;)) und wenn ich die procedure drin hab passiert genauso viel
danke
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Mo 26.06.06 16:44 
also bei mir funktioniert alles so wie beschrieben. Hast du die Units in der Uses-Liste und die Form-Namen angepasst?
DaViNcHi Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 26.06.06 17:46 
ja hab ich...habs jetzt auch einfach ma alles kopiert für den fall dass cih was
übersehen hab.
des programm läuft bloß muss ich das minimierte hauptfensterfenster nach dem schließen des bilds von hand öffnen un das sollte eg von allein gehen :( hm gibts vl noch ne andere möglcihkeit?
hab vorhin was mit
Form1.hide; Form2.Show... gelesen hab daraufhin statt dem minimieren
das Form1.hide benutzt und bei der procedure in unit2 form1.show aber das hat auf nix gebracht danach war das hauptfenster ganz weg...:/
martin_gnoe
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 26.06.06 18:42 
Hi

Ich weiß nicht ob´s auch in Win32 so funktioniert aber in .NET würde ich, wenn ich 2 Units hätte so vorgehen:
-Unit2 in uses Liste einbinden
-var vom Typ TForm2 erstellen
-im Create teil den Konstruktor der Form2 aufrufen und in der Zeile darunter Form2.Hide
-im Button Click ereignis dann erst Form1.Windowstate:=wsminimized; dann Form2.ShowDialog; und
dann
Form1.Windowstate:=wsnormal; (das Form1.widowstate:=wsnormal wird dann erst ausgeführt wenn Form2
geschlossen wird)

Deine Lösung kann nicht gehen weil woher soll Form2 zur Laufzeit wissen wer oder was Form1 ist???
:?:

Also ich hoff es war alles richtig und hat dir geholfen?!

mfg
DaViNcHi Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 27.06.06 16:01 
danke für die hilfe habs jetzt hingekriegt :D

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
unit unit2;

interface

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

type
  TForm2 = class(TForm)
    Image1: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses unit1;

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Show;
end;

end.


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt