Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   reconocer que botón se pulsó (https://www.clubdelphi.com/foros/showthread.php?t=79888)

viveba 19-08-2012 23:08:25

reconocer que botón se pulsó
 
Hola a todos!!

Quisiera saber como identificar que botón se pulsó cuando tengo varios botones relacionados al mismo evento.

me explico mejor; una forma de hacer lo que pretendo en Delphi es:

procedure TForm12.Button1Click(Sender: TObject);
begin
case (Sender as TButton).Tag of
1: ShowMessage('Pulsó el boton 1');
2: ShowMessage('Pulsó el boton 2');
3: ShowMessage('Pulsó el boton 3');
end;
end;

Siempre y cuando ponga en la propiedad Tag de cada botón los valores previstos y relacione el evento OnClick de los botones al mismo evento.

bien, ¿como hago lo mismo desde c++?

estoy usando Builder.

desde ya, muchísimas gracias por contestar.

ecfisa 19-08-2012 23:25:16

Hola viveba.

Te pongo dos formas en que podes hacerlo.
1:
Código:

void __fastcall TForm1::ButtonClick(TObject *Sender) {

  TButton *tb = static_cast<TButton*>(Sender);
  switch (tb->Tag) {
    case 1: ShowMessage("Pulsó el boton 1"); break;
    case 2: ShowMessage("Pulsó el boton 2"); break;
    case 3: ShowMessage("Pulsó el boton 3"); break;
    ...
  }
}

2:
Código:

void __fastcall TForm1::ButtonClick(TObject *Sender) {

  switch(((TButton*)Sender)->Tag) {
    case 1: ShowMessage("Pulsó el boton 1"); break;
    case 2: ShowMessage("Pulsó el boton 2"); break;
    case 3: ShowMessage("Pulsó el boton 3"); break;
    ...
  }
}

Saludos.

viveba 20-08-2012 00:06:36

Muchísimas gracias!!!!!

estoy tratando de mudar de un lenguaje a otro, y no encontraba como hacer esto.


La franja horaria es GMT +2. Ahora son las 09:37:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi