我重写 OnNcPaint() 方法以及 OnNcLButtonDown() 和 OnNcMouseMove() 以及 OnNcHitTest() 方法。所以窗口的原始菜单不存在。我想添加一个带有标题栏区域的菜单。我怎样才能做到这一点?
非常感谢!
菜单被绘制为非客户区的一部分。因此,如果您正在做自己的非客户端绘画,您还必须自己绘制窗口。您可能可以使用 TrackPopupMenu 破解一些东西来绘制实际的菜单,而您只需要自己处理菜单栏和顶级菜单项。
自己绘制非客户区域充满了危险。您确定您不只是想使用所有者绘制的菜单吗?
调整 UI 对话框以适应您的确切需求可能很诱人,但请记住,这对已经习惯于 Windows 外观的用户来说是不和谐的。