Programación General > C++ Builder
Namedeobjectoclick(tobject *sender)
(1/1)
MakerCodes:
:huh: (Como hacerlo en Builder C++)
Imagino que todos ustedes alguna vez han querido usar un grupo de objetos (sean botones, imagenes o labes) que les permita hacer una llamada al evento OnClick, sin embargo para mi es algo tedioso tener que escribir codigo para cada uno de ellos, ¿habria manera de generar algun codigo como visual basic donde se utiliza la variable "index" como parte de la identificacion de una matriz de objetos? si existe, como lo podria hacer en builder, ya que solo me proporciona la variable "Sender".
kati:
buenas!!
te dejo un ejemplo dónde se utiliza un array de labels....luego lo adaptasss.....
:lightsabre: espero que te sea de ayuda..
Un saludo...
MakerCodes:
Hola a todos, ya voy aprendiendo algo, de lo que visto en el manual de C++ Builder, eso si, no se mucho de ingles, pero como todos saben: los codigos no tienen idioma, asi que aqui les dejo lo que encontre:
Suponiendo que creas 3 Labels en tu Form en el .h tendrias lo siguiente:
--- Código: Text --- //--------------------------------------------------------------------------- #ifndef Unit1H#define Unit1H//---------------------------------------------------------------------------#include <Classes.hpp>#include <Controls.hpp>#include <StdCtrls.hpp>#include <Forms.hpp>//---------------------------------------------------------------------------class TForm1 : public TForm{__published: // IDE-managed Components TLabel *Label1; TLabel *Label2; TLabel *Label3; //-> Pero ten en cuenta que tendras que declarar tu propio evento Click, que no es dificil, solo te copias uno y le cambias nombre. void __fastcall MiEventoClick(TObject *Sender); void __fastcall Reset(); private: // User declarationspublic: // User declarations __fastcall TForm1(TComponent* Owner);};//---------------------------------------------------------------------------extern PACKAGE TForm1 *Form1;//---------------------------------------------------------------------------#endif
MiEventoClick en el .cpp quedaria como sigue:
--- Código: Text --- void __fastcall TForm1::MiEventoClick(TObject *Sender){ Reset(); if (Sender == Label1) Label1->Font->Style = TFontStyle()<<fsBold; if (Sender == Label2) Label1->Font->Style = TFontStyle()<<fsBold; if (Sender == Label3) Label1->Font->Style = TFontStyle()<<fsBold; } //-> Eso si, Sender no funciona con SWITCH. void __fastcall TForm1::Reset(){ Label1->Font->Style = TFontStyle(); Label2->Font->Style = TFontStyle(); Label3->Font->Style = TFontStyle();}
Tambien lo puedes hacer con MouseMove(TObject *Sender) para ver mas rapido dicho efecto.
Y recuerda, de bit en bit se llenan las unidades :D
Navegación
Ir a la versión completa