我可以使用MFC在窗口的任何矩形区域中绘制菜单(不是弹出菜单)吗?

时间:2009-01-04 13:00:34

标签: mfc menu

我重写了OnNcPaint()方法以及OnNcLButtonDown()和OnNcMouseMove()以及OnNcHitTest()方法。所以窗口的原始菜单不存在。我想添加一个带有标题栏区域的菜单。我怎么能这样做?

非常感谢!

1 个答案:

答案 0 :(得分:1)

菜单被绘制为非客户区域的一部分。因此,如果您正在进行自己的非客户端绘画,您还必须自己绘制窗口。你可以使用TrackPopupMenu来修改实际的菜单图,你只需要自己处理菜单栏和顶级菜单项。

自己绘制非客户区域充满了危险。您确定不只是想使用owner drawn menu吗?

调整UI对话框以满足您的确切需求可能很诱人,但请记住,对于习惯了Windows外观的用户来说,这是一种刺激。