Entwickler-Ecke

Sonstiges (Delphi) - Wenn ein Fenster minimiert wird, das andere schliessen


Glorfindel - Mi 03.08.05 16:31
Titel: Wenn ein Fenster minimiert wird, das andere schliessen
Tach Leute,

wie kriegt man denn sowas hin?

Das Minimized und Maximized Event habe ich schon abgefangen

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TFrame.WMSYSACOMMAND(var msg: Tmessage);
begin
  if msg.Msg = WM_SYSCOMMAND then
  begin
    case msg.WParam of
      SC_MAXIMIZE :
        begin
        ShowMessage('Juhu, ich werde maximiert.');
        inherited;
        end;
      SC_MINIMIZE :
        begin
        ShowMessage('Hilfe, ich werde minimiert.');
        inherited;
        end;
    end;
  end;
  inherited;
end;


Wenn ich in der Proc versuche auf eine andere Form zuzugreifen haut´s Delphi um, sprich datt funzt nich....!

Bei grober Vorstellung eines Lösungsansatzes....Bitte melden.

Bis denn,

Glorfindel :beer:


noidic - Mi 03.08.05 16:35

Moin!

Wie greifst du denn auf das andere Form zu? Das wäre interessant zu wissen, denn eigentlich sollte das ja kein Problem sein.

Gruß

noidic


F34r0fTh3D4rk - Mi 03.08.05 16:43

zeig mal den code mit schließen plz


Glorfindel - Mi 03.08.05 16:59

Also datt sieht so aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure WMSYSACOMMAND(var msg: TMessage); message WM_SYSCOMMAND;

procedure TFrame.WMSYSACOMMAND(var msg: Tmessage);
begin
  if msg.Msg = WM_SYSCOMMAND then
  begin
    case msg.WParam of
      SC_MAXIMIZE :
        begin
        ShowMessage('Juhu, ich werde maximiert.');
        inherited;
        end;
      SC_MINIMIZE :
        begin
        ShowMessage('Hilfe, ich werde minimiert.');
        AndereForm.WindowState := wsMinimized;
        inherited;
        end;
    end;
  end;
  inherited;
end;


Ich habe das auch mal mit TApplicationEvent versucht,; leider ohne Erfolg


F34r0fTh3D4rk - Mi 03.08.05 17:05

also wird das andere formular minimiert und nicht geschlossen ?

du kannst aber nicht einfach so den status ändern, mach das lieber so Form1.Minimize sollte eigentlich gehen :D


Glorfindel - Mi 03.08.05 17:13

Das kennt mein Delphi5 nicht.

Wenn ich Form1. eingebe und dann auf meine Möglichkeiten warte kommt datt nich´.


F34r0fTh3D4rk - Mi 03.08.05 17:18

hm willst du es denn nun schließen oder minimieren, schließen ist ja einfach, minimieren vielleicht mal mit postmessage ausprobieren :idea:


Lannes - Mi 03.08.05 17:25

Hallo,

ich glaube user profile iconF34r0fTh3D4rk meint Application.Minimize


Glorfindel - Mi 03.08.05 17:41

Hab´s hingekriegt :oops: . Man sollte halt den Name der Form schon kennen......!
Ich Dösel, tut mir leid euch damit auf die Nerven gegangen zu sein.SORRY :roll:

Da ist aber noch ein anderes Problem. Wenn ich minimiere (also nicht schliesse) dann erscheint das Prog wie in einer MDI-Anwendung unten links über dem START-Button und nicht wie alle anderen Programme nur in der Symbolleiste.

Ich hoffe dieses Mal ist es nicht wieder Schusseligkeit meiner Seits.

Schonmal Danke

Glorfindel