bien, he logrado lo que pretendia :).....
ARCHIVO .h
primero que nada se deben incluir las siguientes librerias:
- StdCtrls.hpp
- Controls.hpp
- systobj.h
Código C++:
Ver original#include <StdCtrls.hpp>
#include <Controls.hpp>
#include <systobj.h>
Luego creo una nueva clase
MiBoton que sera derivada de la clase
TButton.
en la parte
private: declare lo siguiente:
Código C++:
Ver originalclass MiBoton : public TButton{
private:
TButton *Boton; //almacena la direccion de memoria del boton que sera creado;
TWinControl *Propietario; //almacena la direccion de memoria del componente que
//padre del boton
void __fastcall BotonClick(TObject *Sender); //esta es el evento en si, lo que se ejecutara
//cuando se haga click en el boton
};
y en la parte
public:
Código C++:
Ver originalclass MiBoton : public TButton{
private:
...
public:
//se encarga de establecer la posicion y el tamaño del boton, tambien lo muestra
void crear(int x, int y, in Height, int Width);
MiBoton(TWinControl *Padre):TButton(Padre){
Boton= new TButton(Padre);
Propietario= Padre;
};
luego en el archivo .cpp lo unico que hay que hacer es crear la funcion
BotonClick(TObject *Sender y la funcion
Crear(int, int, int, int) ARCHIVO .cpp
Código C++:
Ver originalvoid MiBoton::Crear(int Top, int Left, int Height, int Width){
//se establece la posicion del boton, el tamaño y se muestra
this->Boton->Top= Top;
this->Boton->Left= Left;
this->Boton->Height= Height;
this->Boton->Width= Width;
this->Boton->Parent= this->Propietario;
//se termina de mostrar el boton
//se asigna al evento OnClick del boton la funcion BotonClick
Boton->OnClick= BotonClick;
}
void __fastcall MiBoton::BotonClick(TObject *Sender)
{
//aqui va lo que queremos que haga el boton
}
Tengan en cuenta que esto lo hice mirando que se agregar en los archivos
.h y
.cpp de un formulario cuando queremos crear un evento y de ahi saque mis conclusiones..... funciona, pero puede que genere algun error a futuro si esta no es la manera correcta de hacerlo.
Saludos