Avatar billede sk-man Nybegynder
11. marts 2003 - 19:28 Der er 8 kommentarer

click på komponent

Jeg har lavet et komponent nedarvet fra en TShape. Når man klikker på den skal der komme en Message Boks med noget tekst. Hvordan gør jeg det i komponenten?

Det må være noget med events?
Avatar billede athlon-pascal Juniormester
11. marts 2003 - 19:32 #1
procedure TForm1.MyShape1Click(Sender: TObject);
begin
  ShowMessage('Min hestebesked!');
end;
Avatar billede athlon-pascal Juniormester
11. marts 2003 - 19:33 #2
Ja, det er events. Det er, som jeg har vist, dit komponents OnClick-event du skal fange :-)
Avatar billede sk-man Nybegynder
12. marts 2003 - 11:09 #3
Det er ikke helt det jeg er ude efter a-p.

Jeg kan ikke bruge object inspector til at specificere hvilken funktion der skal kalde min procedure.
Avatar billede mortvader Nybegynder
12. marts 2003 - 11:15 #4
Hvis det ikke er det du er ude efter, har du godt nok formuleret dit spørgsmål helt forkert!
Avatar billede diz Nybegynder
13. marts 2003 - 11:17 #5
eks:
i interface afsnittet:

  Procedure MinEvent(sender : TObject);

i din Create skriver du :

  MinEvent := MinKlasse.OnClick;

Så kalder den din metoder når der kommer et eventet OnClick forekommer:

/Sune
Avatar billede sk-man Nybegynder
18. marts 2003 - 11:18 #6
Når jeg prøver det så får jeg en "Not enough actual parameters" fejl i MinEvent := MinKlasse.OnClick;
Her er hvad jeg har gjort:


type
  TRemoteButton = class(TShape)
  ...
  ...
  published
  ...
  Procedure MinEvent(sender : TObject);
  ...

constructor TRemoteButton.Create(AOwner : TComponent);
begin
  inherited;
  MinEvent := TRemoteButton.OnClick;
  ...
  ...

Procedure TRemoteButton.MinEvent(Sender: TObject);
begin
  Beep;
end;
Avatar billede athlon-pascal Juniormester
18. marts 2003 - 15:18 #7
Hedder det ikke
TRemoteButton.OnClick := MinEvent;
Eller
TRemoteButton.OnClick := MinEvent();

?
Avatar billede sk-man Nybegynder
18. marts 2003 - 15:48 #8
a-p: hvis jeg gør det så får jeg en "Method identifier expected"

prøver jeg Self.OnClick := MinEvent; får jeg et beep når constructoren kaldes, men ikke når der klikkes på komponenten.

Jeg er ked af at være så besværlig...
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