Avatar billede stigc Nybegynder
03. maj 2002 - 09:41 Der er 10 kommentarer og
1 løsning

Borland Builder button event handling

Kan jeg lave en eventhandler til flere knapper.
Jeg har 10 knapper på en form, og gidder ikke at skrive en handling i 10 forskellige funktioner, men vil hellere fange handlingen et sted, og kunne aflæse hvilken knap der er trykket på!
Avatar billede kamikaze Nybegynder
03. maj 2002 - 09:58 #1
Ja, du kunne lave en metode der hedder EventHandler() og sende alle knap-tryk videre til :-)
Avatar billede stigc Nybegynder
03. maj 2002 - 10:15 #2
Jeg vil slet ikke have 10 onCLick funktioner! :)
Avatar billede laffe Nybegynder
03. maj 2002 - 14:04 #3
Implementer en OnClick på en af dine knapper.

Herefter Vælger du bare den eventroutine til alle de andre knapper.
Avatar billede stigc Nybegynder
03. maj 2002 - 14:06 #4
Hvordan aflæser jeg hvilken knap der er trykket!
Avatar billede laffe Nybegynder
03. maj 2002 - 14:06 #5
TButton har jo en Tag property, som kan være et tal. Du kunne jo give dine buttons forskellige Tag værdier. På den måde kan du i din generelle OnClick routine se hvilken knap der blev trykket på.
Avatar billede laffe Nybegynder
03. maj 2002 - 14:08 #6
I OnClick sender der en Sender parameter med. Brug den:



int Hvilkenknap = ((TButton*)Sender)->Tag;
Avatar billede stigc Nybegynder
03. maj 2002 - 14:08 #7
Den bruger jeg allerede.
Avatar billede laffe Nybegynder
03. maj 2002 - 14:12 #8
Så er det jo fjong :)
Avatar billede laffe Nybegynder
03. maj 2002 - 14:22 #9
int Hvilkenknap = ((TButton*)Sender)->Tag;

switch (HvilkenKnap)
{
  case 1:
  {
    // knap nr 1 gør dit
  }
  break;
  case 2:
  {
    // knap nr 2 gør dat
  }
  break;

}
Avatar billede stigc Nybegynder
03. maj 2002 - 14:37 #10
((TButton*)Sender)->Name kan jeg bruge.
Avatar billede laffe Nybegynder
03. maj 2002 - 14:39 #11
Det kan du også gøre.
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