【问题标题】:Prevent CDockablePane from closing防止 CDockablePane 关闭
【发布时间】:2013-11-13 13:26:57
【问题描述】:

我有一个 CPaneDialog,它使用一个对话框资源来显示两个图形。一个图形左对齐,另一个图形右对齐。我总是希望该窗格位于菜单栏下方的主窗口顶部。我希望它始终存在,并且不希望用户能够移动或删除它。

在创建 CPaneDialog 时,我是否可以设置一种不会在窗格中放置“固定”或“关闭”按钮的样式?

我也在寻找替代方法。我已经研究过只使用 CWnd,但我不清楚如何强制其他可停靠窗口在其初始定位时考虑窗口的高度。

建议?

【问题讨论】:

标签: mfc mfc-feature-pack dockable-windows


【解决方案1】:

您可以覆盖CDockablePane::OnBeforeFloat 并返回FALSE 以阻止窗格被分离。然后删除按钮只需调用受保护的方法CDockablePane::RemoveCaptionButtons

【讨论】:

  • 做到了,谢谢。不过,RemoveCaptureButtons 似乎没有记录?
  • 还有一个问题。是否可以从 CPaneDialog 中删除标题栏?
  • 是的,它是无证的。我刚刚使用 FileLocator Pro 搜索 MFC 源代码以找出绘制按钮的位置。用 DrawCaption 做同样的事情,你可以看到 OnNcPaint 仅在 GetCaptionHeight() > 0 时调用 DrawCaption。所以尝试覆盖 GetCaptionHeight 并返回 0。
猜你喜欢
  • 1970-01-01
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多