VisualStudio从2005以后在新建项目时有了视觉样式和颜色的选项了,这样就会在程序初始化时设置视觉管理器
// 基于持久值设置视觉管理器和样式
OnApplicationLook(theApp.m_nAppLook);
if (!m_wndMenuBar.Create(this)) //这句执行后GetMenu就不能获得正确的CMenu指针了,以后的GetMenu就只能返回0了
{
TRACE0("未能创建菜单栏/n");
return -1; // 未能创建
}
要改变菜单样式可以给菜单添加UPDATA_COMMAND_UI命令响应函数
//菜单的COMMAND消息响应函数
void CMainFrame::OnMenuDialog1()
{
// TODO: 在此添加命令处理程序代码
if (bChose1) //bChose1是标记菜单是否被选中的bool变量
{
bChose1 = false;
}
else
{
bChose1 = true;
}
}
//菜单的UPDATA_COMMAND_UI消息响应函数
void CMainFrame::OnUpdateMenuDialog1(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
if(bChose1) //bChose1是标记菜单是否被选中的bool变量
{
pCmdUI->SetCheck(FALSE); //去掉菜单前面的对号
}
else
{
pCmdUI->SetCheck(TRUE); //菜单前面打对号
}
}