头文件.h:
#include<afxwin.h>//mfc头文件
class MyApp :public CWinApp//CWinApp应用程序类
{
public:
//程序入口
virtual BOOL InitInstance();
private:
};
class MyFrame :public CFrameWnd//窗口框架类
{
public:
MyFrame();
//声明宏,提供消息映射机制
DECLARE_MESSAGE_MAP()
afx_msg void OnLButtonDown(UINT, CPoint);
afx_msg void OnChar(UINT, UINT, UINT);
private:
};
cpp文件:
#include"mcf.h"
MyApp app;//全局应用程序对象,有且仅有一个
BOOL MyApp::InitInstance()
{
//创建窗口
MyFrame *frame = new MyFrame;
//显示和更新
frame->ShowWindow(SW_SHOWNORMAL);
frame->UpdateWindow();
m_pMainWnd = frame;//m_pMainWnd保存指向应用主窗口的指针
return TRUE;//返回正常初始化
}
//分界宏(和声明宏一起的)
BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)
ON_WM_LBUTTONDOWN()//鼠标左键按下
ON_WM_CHAR()//键盘按下
END_MESSAGE_MAP()
MyFrame::MyFrame()
{
Create(NULL, TEXT("MFC"));//第一个参数为NULL,代表默认预定义的窗口属性,第二个表示窗口名称
}
void MyFrame::OnLButtonDown(UINT, CPoint point)
{
TCHAR buf[1024];
wsprintf(buf, TEXT("x = %d,y = %d"), point.x, point.y);
MessageBox(buf);
}
void MyFrame::OnChar(UINT key, UINT, UINT)
{
CString str;
str.Format(TEXT("按下了%c键"), key);
MessageBox(str);
}
更多推荐
使用mfc手写窗口程序
发布评论