tienes razon, no queria meter el codigo porque es c++ y no quiero asustar pero un ejemplo en delphi me viene bien
este es el archivo de cabecera (.h)
Código:
//---------------------------------------------------------------------------
#ifndef Image1H
#define Image1H
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE TImage1 : public TImage
{
private:
protected:
public:
__fastcall TImage1(TComponent* Owner);
__published:
//aqui van mis supuestos eventos personalizado (definicion)
void __fastcall Image1MouseEnter(TObject *Sender);
void __fastcall Image1Click(TObject *Sender);
};
//---------------------------------------------------------------------------
#endif
este es el codigo (.cpp)
Código:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Image1.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
static inline void ValidCtrCheck(TImage1 *)
{
new TImage1(NULL);
}
//---------------------------------------------------------------------------
__fastcall TImage1::TImage1(TComponent* Owner)
: TImage(Owner)
{
}
//---------------------------------------------------------------------------
namespace Image1
{
void __fastcall PACKAGE Register()
{
TComponentClass classes[1] = {__classid(TImage1)};
RegisterComponents("Standard", classes, 0);
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//aquie van la implementacion de mis eventos (no creo que sea asi)
void __fastcall TImage1::Image1MouseEnter(TObject *Sender)
{
this->Visible=false;
}
void __fastcall TImage1::Image1Click(TObject *Sender)
{
this->Visible=false;
}
este codigo aparece por defecto, excepto los metodos "image1mouseenter e image1click" que fueron creados por mi como un intento de implementacion de eventos personalizados
despues de crear mi nueva clase, debo llamarla desde otro lado, la instancio de esta forma
Código:
TImage1 *temp= new TImage1(Owner);//tambien coloque como parametro Form1, Application y no vi cambios
// ahora modifico los atritutos para acomodar
temp->Left=2;
temp->Top=2;
temp->Picture->LoadFromFile("00060001.BMP");
temp->Width=200;
temp->Height=200;
temp->Parent=Form1; // indica que form1 es el padre, y hace que temp se vuelva visible
espero que sirva