MFC的工具栏,在浮动的时候,会有一个关闭按钮,有时候要去掉这个关闭按钮,要怎么做呢?
方法为:
从CToolBar派生一个类,比如CToolBarEx,然后添加消息WM_WINDOWPOSCHANGED的响应函数。
在函数中添加如下代码:
void CToolBarEx::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos)
{
CToolBar::OnWindowPosChanged(lpwndpos);
// TODO: Add your message handler code here
if(IsFloating())
{
CWnd* pParent = GetParentFrame(); //当浮动的时候,获得框架,菜单都是存在于框架上的。
if(pParent->IsKindOf(RUNTIME_CLASS(CMiniFrameWnd)))
{
pParent->ModifyStyle(WS_SYSMENU, 0, 0 ); //删除菜单。
</

在MFC中,浮动工具栏通常带有关闭按钮。要移除这个按钮,可以创建CToolBar的派生类CToolBarEx,并处理WM_WINDOWPOSCHANGED消息。在消息响应函数中检查是否浮动,如果是,则修改父窗口(CMiniFrameWnd类型)的风格,删除WS_SYSMENU标志。使用一个变量m_bDeleteMenu来记录菜单是否已被删除,确保在工具栏重新停靠时能正确恢复。
最低0.47元/天 解锁文章
2215

被折叠的 条评论
为什么被折叠?



