【发布时间】:2017-10-05 20:25:39
【问题描述】:
首先我将我的 CMFCToolbar 设为永久 m_wndMyToolBar.SetPermament(TRUE); // 它删除了关闭按钮
现在,如何实现用户无法移动永久CMFCToolbar?
我尝试对 CMFCToolbar 进行子类化,但在此类中从未调用过 ON_WM_MOUSEMOVE 和 ON_WM_NCMOUSEMOVE。
【问题讨论】:
首先我将我的 CMFCToolbar 设为永久 m_wndMyToolBar.SetPermament(TRUE); // 它删除了关闭按钮
现在,如何实现用户无法移动永久CMFCToolbar?
我尝试对 CMFCToolbar 进行子类化,但在此类中从未调用过 ON_WM_MOUSEMOVE 和 ON_WM_NCMOUSEMOVE。
【问题讨论】:
如果您想修复所有工具栏,只需删除
EnableDocking(CBRS_ALIGN_ANY);
在您的 CMainFrame 类中。
要处理单个柱,请尝试覆盖 FloatControlBar 并返回 FALSE。
防止特殊栏浮动的最后也是最好的方法是覆盖OnBeforeFloat并返回FALSE。该函数由FLoatControlBar调用
阻止任何事情的最后一种方法是捕获WM_NCHITTEST。处理它并返回HTCLIENT 或最终返回HTNOWHERE。
【讨论】: