main.cpp
Code:
#include <afxwin.h>
#include "main.h"
CApp app;
BOOL CApp::InitInstance() {
m_pMainWnd = new CMarco();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMarco, CFrameWnd)
ON_WM_CREATE()
ON_WM_PAINT()
ON_BN_CLICKED(10000, OnBnClicked1)
ON_BN_CLICKED(20000, OnBnClicked2)
END_MESSAGE_MAP()
CMarco::CMarco() {
Create(NULL, "Hola");
}
CMarco::~CMarco() {
delete m_btn2;
delete m_btn3;
}
void CMarco::OnCreate(LPCREATESTRUCT lpCreateStruct) {
m_btn2 = new CButton();
m_btn2->Create("Hola", WS_CHILD|WS_VISIBLE, CRect(10, 10, 50, 40), this, 10000);
m_btn3 = new CButton();
m_btn2->Create("Boo", WS_CHILD|WS_VISIBLE, CRect(10, 60, 50, 40), this, 20000);
}
void CMarco::OnBnClicked1() {
MessageBox("Estás presionado", "Hola");
}
void CMarco::OnBnClicked2() {
m_btn2->EnableWindow(FALSE);
}
void CMarco::OnPaint() {
CPaintDC dc(this);
dc.TextOut(5, 5, "Joel");
} // :~ Al terminar CPaintDC es eliminada, Qué bien!
main.h
Code:
#if !defined(_MFC_MAIN_H_)
#define _MFC_MAIN_H_
class CApp : public CWinApp {
public:
virtual BOOL InitInstance();
};
class CMarco : public CFrameWnd {
public:
CMarco();
~CMarco();
private:
CButton* m_btn2;
CButton* m_btn3;
protected:
afx_msg void OnPaint();
afx_msg void OnBnClicked1();
afx_msg void OnBnClicked2();
afx_msg void OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP();
};
#endif
Why the buttons are not showed?