📄 d024.bmp.txt
字号:
则被用来将菜单项和用户自定义的命令同它们的处理成员函数联系起来。在上例中,用户选
择“Edit"一“Copy”菜单项时,系统执行OnEditCopy0函数。ON_COMMAND宏的一般
定义形式如下:
ON_COMMAND(command,command_function)
其中,command为菜单消息或用户自定义消息,command function为消息处理函数。MFC
允许用户自定义消息,常量WM_USER和第一个消息值相对应,用户必须为自己的消息定
义相对于WM_USER的偏移值,偏移范围在O—Ox3FFF之间,这对绝大多数程序来说都是够
用的。用户可以利用#define语句直接定义自己的消息,例如:
#define WM_USERl (WM_USER+O)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ …一‘一Vo一一。、…~一VV~、’o, ┃
┃ 为了说明如何使用用户自定义消息,下面的例程给出了使用用户 ┃
┃ 骤: ┃
┃ #include<afxwin.h> ┃
┃ #define CM_APPLE (WM_USER+O) ┃
┃ #define CM_ORANGE (WM_USER+1‘) ┃
┃ class CMainFrame:CFrameWndf ┃
┃ public: ┃
┃ CMainFrame(); ┃
┃ protected: ┃
┃ afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); ┃
┃ afx_msg void OnClose0; ┃
┃ //handle user select apple ┃
┃ afx_msg LRESULT CMApple(WPARAM wParam, LPARAM lParam); ┃
┃ //handle user select orange ┃
┃ afx_msg LRESULT CMOrange(WPARAM wParam, LPARAM lParam); ┃
┃ DECLARE_MESSAGE_MAP() ┃
┃ ); ┃
┃ 其中,WM_USER+O是消息CM_APPLE的ID,0是该消息的偏穆 ┃
┃ 消息CM_ORANGE的ID,1同样也是该消息的偏移值。CMApple()和 ┃
┃ 两个消息对应的处理函数。 ┃
┃ 相应的消息映射如下: ┃
┃ BEGIN_MES SAGE_MAP(CMainFrame,CFrameWnd) ┃
┃ ON_WM_CREATE() ┃
┃ ON_MESSAGE(CM_APPLE, CMApple) ┃
┃ ON_MES SAGE(CM_ORANGE,CMOrange) ┃
┃ ON_WM_CLOSE() ┃
┃ END_MESSAGE_MAPO ┃
┃ 第一个ON_MESSAGE宏用于指定CM_APPLE俞令消息的处理威 ┃
┃ 24 ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
自定义消息的操作步
值;WM_USER+1是
CMOrange0分别是这
员函数为CMApple,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -