命令消息处理
单命令消息处理
一个控件Id绑定一个消息处理函数,如下所示:
- 头文件
void OnBtnClickedCommand(UINT uNotifyCode, int nID, CView* pView);
SKINUI_DECLARE_MESSAGE_MAP()
- 源文件
SKINUI_BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_SKINUI_COMMAND(IDC_BUTTON, OnBtnClickedCommand)
SKINUI_END_MESSAGE_MAP()
void CMainDialog::OnBtnClickedCommand(UINT uNotifyCode, int nID, CView* pView)
{
}
范围命令消息处理
一个控件Id范围绑定一个消息处理函数,如下所示:
- 头文件
void OnBtnClickedCommand(UINT uNotifyCode, int nID, CView* pView);
SKINUI_DECLARE_MESSAGE_MAP()
- 源文件
SKINUI_BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_SKINUI_COMMAND_RANGE(IDC_BUTTON1, IDC_BUTTON2, OnBtnClickedCommand)
SKINUI_END_MESSAGE_MAP()
void CMainDialog::OnBtnClickedCommand(UINT uNotifyCode, int nID, CView* pView)
{
}
更新UI命令消息处理
SkinUI会在需要的时候发送更新UI命令消息用来更新UI组件的状态。主要存在以下几种情况:
- 按钮的禁用;
- 菜单的禁用;
- 菜单的选中;
####按钮的禁用:
- 头文件
void OnUpdateCommandUI(CView* pView);
SKINUI_DECLARE_MESSAGE_MAP()
- 源文件
SKINUI_BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_SKINUI_UPDATE_COMMAND_UI(IDC_BUTTON, OnUpdateCommandUI)
SKINUI_END_MESSAGE_MAP()
void CMainDialog::OnUpdateCommandUI(CView* pView