Autor Beitrag
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Do 29.08.02 15:52 
Ich habe drei Fragen zu dem Thema:

1. Wieso hat eine Form kein Event das beim Minimieren und beim Maximieren eintritt? Oder gibt es sie und ich hab sie einfach "übersehen"?
2. Wie kann man feststellen, ob eine Form minimiert oder maximiert ist?
3. Wie bringt man die Form dazu sich zu minimieren bzw. zu maximieren, ohne das der Anwender etwas tut?
ao
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 145

Win XP Prof.
D7 Ent.
BeitragVerfasst: Do 29.08.02 16:04 
Hallo O'rallY

Also 2. und 3. kannst du mit der Eigenschaft WindowState eines Forms lösen, die kannst du abfragen und auch setzen.
Zu 1. fällt mir nur OnResize ein, das wird aber leider, glaube ich, nicht beim minimieren aufgerufen.

Gruß
Andreas
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Do 29.08.02 16:05 
Hi O'rallY user defined image,
der Event liegt im Application-Objekt :P
Versuch es mal mit folgendem Code:
ausblenden volle Höhe 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:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure mini(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.mini(Sender: TObject);
begin
  showmessage('Hilfe, ich werde minnimiert!!!')
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
application.OnMinimize := mini;
end;

end.


Ob Minimiert, Maximiert oder Normal kannst du mit TForm.WindowsState abfragen.

Den Fensterstatus ändert man per Programm so:
ausblenden Quelltext
1:
2:
3:
application.Minimize;
application.Restore;
//Maximieren weiss ich gerade nicht.


Ich hoffe geholfen zu haben :wink:

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
O'rallY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Do 29.08.02 16:22 
Ersteinmal danke.
Doch der Code (@Arakis) hat bei mir nur zur Folge, das wenn ich die Form minimiere und dann in der Taskleise anklicke die procedure mini aufgerufen wird.

der Rest hat einwandfrei genfunzt :wink:
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Do 29.08.02 16:24 
Falsch! :D
Du siehst die MessageBox ja erst dann, wenn du es wiederherstellst. Es wird also schon angezeigt, wenn es minnimiert ist, du siehst sie halt nur nicht :wink:

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!