Avatar billede whynot Nybegynder
17. juli 2004 - 06:52 Der er 10 kommentarer og
1 løsning

onminimize ved form.

Jeg har to forms .. den ene creater den anden ved en

var
  child: TForm2;
begin
  child := TForm2.Create(Application);
  with child do
  begin
    //gøre et eller andet
  end;
end;

anyway.. nu bliver der lavet en ny form og fra denne vil jeg gerne kunne fange når brugeren bruger minimize knappen øverst i højre hjørne af formen.. men hvordan pokker gør jeg det?

jeg har fundet følgende på nettet som virker når der er tale om en enkelt form/application.. men ikke når jeg kører koden på min createt form2.

unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMinimize := AppMin;
  Application.OnRestore := AppRes;

end;

procedure TForm1.AppMin(Sender: TObject);
begin
  showmessage('minimize');
  form1.Hide;
end;

procedure TForm1.AppRes(Sender: TObject);
begin
  showmessage('restore');
  form1.Show;
end;


end.

Er der nogen som kan hjælpe mig.?
Avatar billede jonat Nybegynder
17. juli 2004 - 07:57 #1
Hvis du har componentet TApplicationEvents, ligger der en procedure i den, som bliver kaldt, når at formen minimeres og når den restores.

Og TApplicationEvents ligger i delphi, den er ihvertfald med i 7 men jeg ved ikke hvilken version du har??

// Jonat.
Avatar billede whynot Nybegynder
17. juli 2004 - 10:00 #2
øhm.. nu vil jeg nødig lyder som en total nybegynder - men sandheden er at jeg bestemt ikke er en prof. til at programmere... hvor finder jeg komponenten og hvordan aktiverer jeg den. Jeg bruger nemlig også delphi ver. 7. plz. skær det ud i pap for mig.
Avatar billede whynot Nybegynder
17. juli 2004 - 10:08 #3
ja okey.. jeg har fundet den.. lidt pinligt..

Men TApplicationEvents.onminimize er vist når formen er minimized og ikke når formen bliver minimized - gav det mening? Altså bliver den vist kaldt når formen allerede er blevet minimized og formen igen får fokus... er det mig igen.. eller?
Avatar billede jonat Nybegynder
17. juli 2004 - 10:10 #4
okay :D....

1. På den form som du skal have til at reagere på minimize og maximize, der finder du det component som hedder "ApplicationEvents" det lægger på fanebladet "addotional".
2. Den smider du så på den form (Den form som skal reagere på minimize og restore).
3. Så trykker du på componentet og går over i "object inspekter" vinduet.
4. Der trykker du så på det faneblad som hedder "events".
5. Du finder så det sted hvor der står "OnMinimize" der trykker du på teksten. så bliver feltet ved siden af hvidt.
6. Dobbeltklik så på det hvide felt. og så er der lavet en procedure, som der bliver "kaldt" (Udfører koden) når formen bliver minimeret. og så kan du f.eks. skrive "showmessage('Minimeret');
Og så gør du det bare tilsvarende med "onrestore" som ved punkt 5 og 6.
Avatar billede jonat Nybegynder
17. juli 2004 - 10:11 #5
Tjekker lige sidste spm, er ikke helt sikker.

// jonat.
Avatar billede jonat Nybegynder
17. juli 2004 - 10:16 #6
nej, den bliver kaldt, når at den bliver minimeret, Showmessage kommer først når at det at formen den bliver restoret igen, men hvis du sætter den til at spille en lyd eller noget, kommer den når at formen bliver minimeret.

// Jonat.
Avatar billede whynot Nybegynder
17. juli 2004 - 10:24 #7
okey.. du har ret.. og det ser ud til at fungere med en form som er skabt ved runtime.. men når jeg creater form2 fra form1.. så virker det ikke. Med andre ord ser det ikke ud til at fungere når jeg minimerer form2 når den bliver createt af form1.. har du en forklaring på det?
Avatar billede jonat Nybegynder
17. juli 2004 - 10:32 #8
Jeg er ikke helt sikker, men jeg tror det er fordi den procedure, som bliver kaldet i "onMinimize", er når HELE programmet bliver minimeret....

// Jonat.
Avatar billede whynot Nybegynder
17. juli 2004 - 10:35 #9
Øhmm.. det tror jeg faktisk ikke.. i hjælpen taler de om forms og ikke applications...
Avatar billede whynot Nybegynder
17. juli 2004 - 10:39 #10
nej det gør de ikke.. jeg må være blind idag.. du har vist ret.
Avatar billede whynot Nybegynder
19. juli 2004 - 14:23 #11
jeg fandt aldrig en løsning som virkede på mit problem :( jeg lukker spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester