【旧资料整理】MFC--去除浮动工具栏(CToolBar)或浮动边栏(CDialogBar)关闭按钮真正有效的方法
2017-06-25 00:03
393 查看
资料时间:2009-12-02之前
分享时间:2009-12-02到百度空间,空间关闭,重新整理
今天试着去除浮动边栏的关闭按钮,在网上找了半天也没有找到有效的方法,结合搜出的一些结果,终于找到了真正有效的去除关闭按钮的方法,而且对两类工具栏都有效,发上来和大家分享.
搜出次数最多的解决方法就是下面这两个了:
http://www.vckbase.com/document/viewdoc/?id=533
http://www.codeproject.com/docking/disabletoolbarclose.asp
第一个成功解决了浮动工具栏,但是对边栏无效.第二个方法只是将边栏的关闭按钮变灰.二者一结合就是真正有效的方法.
实现效果:
实现步骤
1.添加对应的类
工具栏继承CToolBar,边栏继承CDialogBar
2.添加WM_MOVE消息响应(因为这两个消息两类工具栏都有),代码如下:
void C***Bar::OnMove(int x, int y)
{
CDialogBar::OnMove(x, y);
// TODO: Add your message handler code here
//主要步骤都在确保指针正确
CWnd *pWnd = GetParent();
if (pWnd != (CWnd *) NULL)
{
ASSERT_KINDOF(CWnd, pWnd);
pWnd = pWnd->GetParent();//得到父窗口
}
if (pWnd != (CWnd *) NULL)
{
ASSERT_KINDOF(CWnd, pWnd);
if (pWnd->GetSafeHwnd() != AfxGetMainWnd()->GetSafeHwnd())//确保你窗口不是主窗口
{
pWnd->ModifyStyle( WS_SYSMENU, 0, 0 );//去除系统菜单按钮
::SendMessage(pWnd->m_hWnd,WM_NCPAINT,0,0);//重绘边框
}
}
}
2.最后实例化对应的对象,加载对应的资源.
分享时间:2009-12-02到百度空间,空间关闭,重新整理
今天试着去除浮动边栏的关闭按钮,在网上找了半天也没有找到有效的方法,结合搜出的一些结果,终于找到了真正有效的去除关闭按钮的方法,而且对两类工具栏都有效,发上来和大家分享.
搜出次数最多的解决方法就是下面这两个了:
http://www.vckbase.com/document/viewdoc/?id=533
http://www.codeproject.com/docking/disabletoolbarclose.asp
第一个成功解决了浮动工具栏,但是对边栏无效.第二个方法只是将边栏的关闭按钮变灰.二者一结合就是真正有效的方法.
实现效果:
实现步骤
1.添加对应的类
工具栏继承CToolBar,边栏继承CDialogBar
2.添加WM_MOVE消息响应(因为这两个消息两类工具栏都有),代码如下:
void C***Bar::OnMove(int x, int y)
{
CDialogBar::OnMove(x, y);
// TODO: Add your message handler code here
//主要步骤都在确保指针正确
CWnd *pWnd = GetParent();
if (pWnd != (CWnd *) NULL)
{
ASSERT_KINDOF(CWnd, pWnd);
pWnd = pWnd->GetParent();//得到父窗口
}
if (pWnd != (CWnd *) NULL)
{
ASSERT_KINDOF(CWnd, pWnd);
if (pWnd->GetSafeHwnd() != AfxGetMainWnd()->GetSafeHwnd())//确保你窗口不是主窗口
{
pWnd->ModifyStyle( WS_SYSMENU, 0, 0 );//去除系统菜单按钮
::SendMessage(pWnd->m_hWnd,WM_NCPAINT,0,0);//重绘边框
}
}
}
2.最后实例化对应的对象,加载对应的资源.
相关文章推荐
- 【旧资料整理】MFC--尝试得出<<修改浮动边栏标题使立即生效>>方法
- 在C++/MFC框架应用程序里,当浮动工具条被拖离主窗口后,一般都有一个“关闭”按钮,
- colorbox去除close关闭按钮,附上colorbox的基本使用方法
- MFC对话框显示和不显示最小化、最大化和关闭按钮的方法
- 【旧资料整理】MFC--自定义分割条颜色以及求分割条大小方法
- MFC开发资料整理之MFC获取指针的方法
- 【旧资料整理】MFC--实现在程序启动画面关闭后再显示窗口
- 去掉MFC的MDI程序中的浮动工具条上标题栏中的“关闭”按钮
- 【旧资料整理】菜单栏文字背景变白的有效解决方法
- 给层加上最大化,最小化和关闭按钮(经典代码)适合做浮动层类。
- 关于VC6.0自动关闭MessageBox的方法整理。
- Eclipse RCP中编辑器(editpart)关闭按钮的屏蔽方法
- 如何禁用窗口关闭按钮在一个 MFC 多文档界面 (MDI) 应用程序
- 使用javascript重定向后让back按钮有效的方法
- 整理JS去除字符串空格的方法
- C#中如何去除或屏蔽窗体默认的关闭按钮?
- 如果制作网页中浮动广告条的关闭按钮
- Flex中如何通过showCloseButton属性,控制TitleWindow右上角关闭按钮有效/无效
- 禁用窗口的关闭按钮方法
- C# 禁用 关闭窗口 按钮的方法