MFC面板和窗口把手
Posted
技术标签:
【中文标题】MFC面板和窗口把手【英文标题】:MFC Panel and window handle 【发布时间】:2008-10-28 19:22:02 【问题描述】:有没有可以在 MFC 应用程序中使用的面板之类的东西。这是为了覆盖 MFC(对话框应用程序)中的默认窗口。然后将面板涂成黑色并在其顶部涂上一些随机的东西。类似于视口的东西。
有没有比这更好的选择来达到同样的效果?
【问题讨论】:
【参考方案1】:当然。这叫窗户!创建一个派生自 CWnd 并覆盖 OnPaint() 的类。
在对话框的 OnInitInstance() 中,实例化一个 CMyWnd 对象并将其称为 Create() 成员。当然,请确保您的 CMyWnd 对象的生命周期与对话框的对象生命周期窗口相同。 iow,让它成为你 CMyDialog 类的成员。
不是很复杂,但显然 MFC 显示了它为什么不属于 RAD 工具类别的一个领域。
【讨论】:
【参考方案2】:另一种解决方案是从CDialog
派生。这样,您可以使用资源编辑器直观地编辑面板,而无需自己绘制任何内容。此外,Panel 类相当薄,只需要传播 Create()
和 Show()
调用即可支持单个表单中的子面板和多个面板。
【讨论】:
以上是关于MFC面板和窗口把手的主要内容,如果未能解决你的问题,请参考以下文章
使用 VS6 C++ GUI 编辑器、MFC 以屏幕(像素)为单位调整全屏窗口大小?