MFC-2消息处理
#include <afxwin.h> #include "resource.h" class MyFrame:public CFrameWnd { private: CMenu *FMenu; public: MyFrame() { Create(NULL,"Hello MFC");//建立窗口 FMenu = new CMenu;//产生菜单 FMenu->LoadMenu(IDR_MENU1);//加载菜单 SetMenu(FMenu);//设置窗口使用的菜单 } ~MyFrame()//析构函数 { delete FMenu; } afx_msg void OnExit() { MessageBox("TEST"); MessageBox("Exit1"); DestroyWindow();//关闭窗口 } afx_msg void OnLButtonDown(UINT nFlags,CPoint point) { SetCapture();//取得鼠标消息接收权 } afx_msg void OnMouseMove(UINT nFlags,CPoint point) { if(this == GetCapture())//鼠标光标在窗口上 { CClientDC aDC(this);//建立画布 aDC.SetPixel(point,RGB(255,0,0));//SetPixel画红点 } } afx_msg void OnLButtonUp(UINT nFlags,CPoint point) { ReleaseCapture();//释放鼠标消息接收权 } DECLARE_MESSAGE_MAP()//声明消息映射 }; BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd)//建立MyFrame类的消息映射 ON_COMMAND(ID_EXIT1,OnExit) ON_WM_LBUTTONDOWN() ON_WM_MOUSEMOVE() ON_WM_LBUTTONUP() END_MESSAGE_MAP() class MyApp:public CWinApp { public: BOOL InitInstance() { CFrameWnd *Frame = new MyFrame;//产生窗口对象 m_pMainWnd = Frame;//将窗口对象设置给应用程序 Frame->ShowWindow(SW_SHOW);//显示窗口 return true; } } a_app;