Avatar billede hestetoften Nybegynder
18. marts 2004 - 15:10 Der er 4 kommentarer og
1 løsning

Popup object ?

Jeg har en TabSheet med en del SpeedButtons.
Til TabSheet er der en PopupMenu.

Kan jeg ved højreklik for at kalde popup se hvilken SpeedButton der blev klikket på, eller om der overhovedet blev klikket på en SpeedButton ??

Altså om pointeren stod på en knap eller ej, og evt hvilken ??

Larsen
Avatar billede dkn Nybegynder
18. marts 2004 - 15:44 #1
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  if PopupMenu1.PopupComponent.ClassType = TSpeedButton then
  begin
    showmessage('Der blev klikket på: '+TSpeedButton(PopupMenu1.PopupComponent).Name);
  end;
end;
Avatar billede hrc Mester
18. marts 2004 - 17:36 #2
Et lille råd: Hvis man har mange tabs og de hver indeholder mange komponenter, så mister man hurtigt overblikket.

Det kan man rette op på ved at bruge en frame på hver side - på den måde bliver det lettere at styre og du kan eksempelvis lave en abstrakt funktion i base-framen som hedder function IsValid : boolean; På den måde er det let at sikre at data er korrekte.
Avatar billede hestetoften Nybegynder
18. marts 2004 - 20:49 #3
Hej dkn

Denne returnerer navnet på tabSheeten, og ikke på knappen der blev højreklikket !
Avatar billede borrisholt Novice
19. marts 2004 - 05:34 #4
hestetoften>> Du har måske ikke i væsenlig grad nærlæst det svar du fik. Hvis du vil have kompoeneten udleveret og ikke navnet på samme skal du nok ikke kalde.Name ... !?!?

procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
  aSpeedButton : TSpeedButton;
begin
  if PopupMenu1.PopupComponent.ClassType = TSpeedButton then
    aSpeedButton := TSpeedButton(PopupMenu1.PopupComponent);


    (*
Her fra kan du så gøre alt mulig med dit object. dog skal du altis huske at chekke for om det er nil eller ej.
Du kan fx få navnen at vide :
      *)
  if Assigned(aSpeedButton) then
    showmessage('Der blev klikket på: '+aSpeedButton.Name);
end;

Jens B
Avatar billede hestetoften Nybegynder
23. marts 2004 - 23:40 #5
Fik det til at virke Tak
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