Resulta que como en el API de windows tenemos un bucle de mensajes aca tenemos un Mapa de Mensajes, son en esencia lo mismo -eso creo- aunque poseen algunas diferencias.
En primer lugar existen unas macro como DECLARE_MESAGE_MAP(), BEGIN_MESSAGE_MAP(...) y END_MESSAGE_MAP() necesarias para poder manejar todo el tema de los eventos.
- DECLARE_MESAGE_MAP()debe declararse al final de nuestra clase que hereda de CFrameWnd(en el tutorial sería CMyFrame).
- BEGIN_MESSAGE_MAP(...) recive dos parámetros, en el primero se debe mandar CMyFrame y en el segundo la clase padre de CMyFrame, es decir CFrameWnd y es la encargada de iniciar la definición del mapa de mensajes.
- Por último, tenemos END_MESSAGE_MAP(), no tiene parámetros, y es la encargada de terminar la definición del mapa de mensajes.
#define _AFXDLL
#include < afxwin.h >
class CMyFrame;
class CMyApp;
class CMyFrame : public CFrameWnd{
friend class CMyApp;
public:
CMyFrame(){Create(NULL, "Juampi");}
void OnLButtonDown (UINT nFlags, CPoint Point);
void OnRButtonDown (UINT nFlags, CPoint Point);
DECLARE_MESSAGE_MAP() //sin ; ni nada, asi nomas como esta
};
BEGIN_MESSAGE_MAP(CMyFrame, CFrameWnd)
ON_WM_LBUTTONDOWN()
ON_WM_RBUTTONDOWN()
END_MESSAGE_MAP()
void CMyFrame::OnLButtonDown(UINT nFlags, CPoint Point){
/*Aca metemos el código de lo que queremos que pase cuando apretamos el boton izquierdo del mouse sobre nuestra ventana*/
MessageBox("Izquierdo");
}
void CMyFrame::OnRButtonDown(UINT nFlags, CPoint Point){
/*Aca metemos el código de lo que queremos que pase cuando apretamos el boton derecho del mouse sobre nuestra ventana*/
MessageBox("Derecho");
}
class CMyApp: public CWinApp{
private:
CMyFrame *MyFrame;
public:
BOOL InitInstance(){
MyFrame = new CMyFrame;
m_ pMainWnd = MyFrame;
m_pMainWnd->ShowWindow(1)
return true;
}
};
CMyApp MyApp;
Si mi lógica no me falla, esto tendría que hacer que cuando apretemos el boton izquierdo sobre la ventana nos aparezca un mensaje que dice "Izquierdo" y si apretamos el derecho, el mensaje dirá "Derecho"
No hay comentarios:
Publicar un comentario