头文件
#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);
}