65,210
社区成员
发帖
与我相关
我的任务
分享
// button3.cpp
#include <afxwin.h>
#define IDB_BUTTON 100
// Declare the application class
class CButtonApp: public CWinApp
{
public:
virtual BOOL InitInstance();
};
// Create an instance of the application class
CButtonApp ButtonApp;
// Declare the main window class
class CButtonWindow: public CFrameWnd
{
CButton *button;
public:
CButtonWindow();
afx_msg void HandleButton();
afx_msg void Onsize(UINT, int, int);
DECLARE_MESSAGE_MAP()
};
// A message handler function
void CButtonWindow::HandleButton()
{
MessageBeep(-1);
}
// A message handler function
void CButtonWindow::Onsize(UINT nType, int cx, int cy)
{
CRect r;
GetClientRect(&r);
r.InflateRect(-20, -20);
button->MoveWindow(&r);
}
// The message map
BEGIN_MESSAGE_MAP(CButtonWindow, CFrameWnd)
ON_BN_CLICKED(IDB_BUTTON, HandleButton)
ON_WM_SIZE()
END_MESSAGE_MAP()
// The InitInstace function is called once
// when the application first executes
BOOL CButtonApp::InitInstance()
{
m_pMainWnd = new CButtonWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
// The constructor for the window class
CButtonWindow::CButtonWindow()
{
CRect r;
// Create the window itself
Create(NULL,
"CButton Tests",
WS_OVERLAPPEDWINDOW,
CRect(0, 0, 200, 200));
// Get the size of the client rectangle
GetClientRect(&r);
r.InflateRect(-20, -20);
// Create a button
button = new CButton();
button->Create("Push me",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
r,
this,
IDB_BUTTON);
}
CButtonWindow::CButtonWindow()
{
CRect r;
// Create the window itself
Create(NULL,
"CButton Tests",
WS_OVERLAPPEDWINDOW,
CRect(0, 0, 200, 200));
// Get the size of the client rectangle
GetClientRect(&r);
r.InflateRect(-20, -20);
// Create a button
button = new CButton();
button->Create("Push me",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
r,
this,
IDB_BUTTON);
}