RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  5164 - PUNTEROS A FUNCIONES EN VISUAL C++
Autor:  luis
Agradecería de antemano cualquier tipo de ayuda.

PROBLEMA: ¿Como se pasa un puntero a una función entre clases diferentes?

CASO A RESOLVER: He derivado una clase de CButton ("CMiBoton") declarando en el fichero de cabecera ("MiBoton.h") un puntero a una función "genérica" ("void (Pulsar*)()"). Es decir:

// MiBoton.h

class CMiBoton : public CButton
{
...
void (Pulsar*)();
...
afx_msg void OnClick();
}

// MiBoton.cpp

void CMiBoton::OnClick()
{
(*Pulsar)();
}

La implementación de esta función ("Pulsar") se lleva a cabo en la ventana padre que contiene dicho botón ("CMiVentana") derivada de CDialog. Es decir:

// MiVentana.h

#include "MiBoton.h"

class CMiVentana : public CDialog
{
CMiBoton boton1;
CMiBoton boton2;
...
void Pulsar1();
void Pulsar2();
}

// MiVentana.cpp

void CMiVentana::Pulsar1()
{
MessageBox("Pulsó botón 1");
}

void CMiVentana::Pulsar2()
{
MessageBox("Pulsó botón 2");
}

A RESOLVER: ¿Cómo hago para desde la ventana padre ("CMiVentana") en "OnInitDialog" asignar a cada botón miembro su función correspondiente? Es decir, cuando pulse "botón1" ha de visualizarse "Pulsó botón 1" y lo mismo con botón 2, "Pulsó botón 2".

RESUMIENDO: QUIERO IMPLEMENTAR DICHO CODIGO DESDE LA VENTANA PADRE ¡¡¡OBLIGATORIAMENTE!!! ¿COMO LO HAGO?

Gracias por llegar hasta este punto de lectura y por cualquier suge


Nombre
Apellidos
Correo
Comentarios