我在菜单“查看”里加了一项 “控制栏”
用来控制我的CDialogBar的显示隐藏。
我在MainFrame中处理了菜单"控制栏"的消息
当第一次点这个菜单时显示我的CDialogBar
并Check 这个菜单下一次就隐藏并UnCheck这个菜单这样本来是好用。
但是, 当CDialogBar浮动出来, 然后被关闭的时候, 我却无法UnCheck那个菜单, 怎么办?
用来控制我的CDialogBar的显示隐藏。
我在MainFrame中处理了菜单"控制栏"的消息
当第一次点这个菜单时显示我的CDialogBar
并Check 这个菜单下一次就隐藏并UnCheck这个菜单这样本来是好用。
但是, 当CDialogBar浮动出来, 然后被关闭的时候, 我却无法UnCheck那个菜单, 怎么办?
解决方案 »
- vc++2005 使用DLL时的LINK错误
- 我想用ITextHost做一个richedit
- 请问友元函数怎么用?(在线等)
- 如何改变关键字颜色
- 介绍一些SDK的网站-最好有原码下载和解释-UP有分!
- 关于CEdit的问题
- 我从对话框生成一个新类,但新类在Class View没有出现,而在File View中有,在Class Wizard中有,这是为何?
- 快来得分吧!
- 请教大虾怎么才能让一个toolbar象qq 那样闪烁呢?
- 请问谁有BTRIEVE调用的SOURCE?(内无)
- win2k下,按backspace键后,发向CMD.exe进程的是什么东东?
- 请问可以根据这段程序回答我几个问题吗,因为我刚刚接触VC,最好可以说详细一点,谢谢!。
m_yourdialogbar.ShowWindow(SW_SHOW);
else
m_yourdialgobar.ShowWindow(SW_HIDE);
void CMainFrame::OnPlay()
{
// TODO: Add your command handler code here
m_bDisplay = !m_bDisplay; //取反
} // The ID message is "COMMAND"void CMainFrame::OnUpdatePlay(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(m_bDisplay);
} // The ID message is “UPDATE_COMMAND_UI”这两个必须有。
BOOL变量 m_bDisplay 用来标是是否选上! m_bDisplay 不能忘记初始化你不能UnCheck应该是没有处理这个菜单选项的UPDATE_COMMAND_UI消息!!
或是没有自在里面加上pCmdUI->SetCheck(m_bDisplay);-----------------------------------------------------------------
并关闭时, 查看里的 "工具栏"会自动转为UnCheck, 不知道是怎么做的.我现在采用了一个笨方法解决了这个问题, 拦截MainFrame的WM_MENUSELECT, 一旦发现选择
了POPUP型菜单就 根据当前CDialogBar的显隐状态Check/UnCheck这个菜单.但是MFC本身不是用这种方法, 那它是怎么做的?
gz
在VC中怎么判断dialogbar是否显示呢?
就象delphi的
menu1.Checked:=dialogbar.Visible;