Avatar billede jaweni Nybegynder
08. juli 2004 - 06:02 Der er 8 kommentarer og
1 løsning

Aktivere "Knap X" uden at trykke?

Hej,
kan nogen lige hjælpe mig med koden til at aktivere
knappen "Ok" i en procedure uden at man skal trykke
på den.

Mvh. Jaweni
Avatar billede jonat Nybegynder
08. juli 2004 - 07:54 #1
f.eks. Button1.click;
eller: BtnOK.click; eller hvad knappen nu hedder.. :)

// Jonat.
Avatar billede snowball Novice
08. juli 2004 - 08:55 #2
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('hej');
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Button1Click(Self);
end;
Avatar billede borrisholt Novice
08. juli 2004 - 10:32 #3
Snowball>> Din løsning kan godt være forkert, selvom den som oftes er rigtig. Hvis nu jeg Assigner OnClick events på runtime, så er det jo ikke sikkert at  TForm1.Button1Click(Sender: TObject) er den rigtige procedure  det kunne ligeså godt være TForm1.Button2Click(Sender: TObject). Så derfor skal man altid bruge Button1.click; den rammer den rigtige.

Jens B
Avatar billede snowball Novice
08. juli 2004 - 10:39 #4
Jens: OK. Har dog aldrig haft problemer med den måde jeg skrev :)
Avatar billede hrc Mester
08. juli 2004 - 16:38 #5
Må antage at .Click er tiltænkt de gange hvor man ikke vil sende noget med Sender.

Under alle omstændigheder vil din løsning ovenfor resultere i en fejl hvis din Button1Click begynder sådan her:

procedure TForm1.Button1Click(Sender: TObject);
begin
  with (Sender as TButton) do ...

idet du sender en TForm afsted - self bruges normalt kun (med fare for at blive korekset endnu en gang) til constructorere for at fortælle hvem der håndterer ejerskab og frigivelse ved programafslutning.
Avatar billede nico26 Nybegynder
10. juli 2004 - 14:11 #6
well - han kan vel bare sende knappen med som afsender i stedet for formen. Problemet med at assigne events runtime, kan vel løses således

  if Assigned(Button1.OnClick) then
    Button1.OnClick(Button1);
Avatar billede hrc Mester
10. juli 2004 - 20:44 #7
nico26: Det ved jeg godt, men så skulle han have gjort det i eksemplet.
Avatar billede nico26 Nybegynder
10. juli 2004 - 20:47 #8
okay - men jeg synes bare jeg ville forklare hvordan man klarer begge de nævnte problemer...
Avatar billede jaweni Nybegynder
19. januar 2005 - 00:06 #9
Hej med jer alle!

Undskyld den meget sene reaktion på jeres svar &
kommentarer.

Dog vil jeg tillade mig at give mine points til:
snowball, da den løsning passede i min situation.

Tak for jeres deltagelse. Prøv lige at kigge på:
eksperten.dk/spm/582338 (nyt spørgsmål)

M.V.H    jaweni
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