头文件
#include <afxwin.h> /*MFC使用的头文件*/ //CWinApp应用程序类 class MyApp :public CWinApp{ public: //程序入口 virtual BOOL InitInstance(); }; //窗口框架类 class MyFrame :public CFrameWnd{ public: MyFrame();//构造函数 //声明宏 提供消息映射机制 声明将在一个类中使用消息映射,把消息映射到函数(必须用在类声明中) DECLARE_MESSAGE_MAP(); //此函数可以在MFC帮助文档里, 点击索引 拉倒最底下 倒数第8行 的 消息映射宏 里查看 afx_msg void OnLButtonDown(UINT, CPoint); afx_msg void OnChar(UINT, UINT, UINT); };
源文件:
#include "MFC.h"; MyApp app;//全局应用程序对象,有且仅有一个 /*程序入口*/ BOOL MyApp::InitInstance(){ //创建窗口 MyFrame * frame = new MyFrame; //显示和更新 frame->ShowWindow(SW_SHOWNORMAL); frame->UpdateWindow(); m_pMainWnd = frame; //保存指向应用程序的主窗口的指针 return TRUE;//返回正常初始化 } //开始消息映射的定义(必须用在类实现中) BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)//参数: 指定消息映射所属的类的名字, 指定theClass的基类的名字 ON_WM_LBUTTONDOWN() //鼠标左键按下 ON_WM_CHAR() //结束消息映射的定义(必须用在类实现中) END_MESSAGE_MAP() MyFrame::MyFrame() { Create(NULL, TEXT("MFC")); } 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 i, UINT, UINT){ TCHAR buf[1024]; wsprintf(buf, TEXT("i = %c"), i); MessageBox(buf); /*统计字符串长度*/ char * p; p = "我们5"; int len = strlen(p); //与传入p效果一样 wsprintf(buf, TEXT("%d"), len); MessageBox(buf); }