2009-01-04 41 views
0

我重寫OnNcPaint()方法以及OnNcLButtonDown()和OnNcMouseMove()和OnNcHitTest()方法。所以窗口的原始菜單不存在。我想添加一個帶有標題欄區域的菜單。我怎樣才能做到這一點?我可以在MFC窗口的任何矩形區域繪製菜單(不是彈出式菜單)嗎?

非常感謝!

+0

不理解你是否想要菜單欄,菜單按鈕或其他東西。請參閱CMFCMenuBar和CMFCMenuButton的文檔。 – sergiol 2014-04-08 11:34:31

回答

1

該菜單被繪製爲非客戶區的一部分。所以如果你正在做自己的非客戶繪畫,你還必須自己繪製窗戶。您可以使用TrackPopupMenu破解某些內容來執行實際的菜單繪製,而您只需自己處理菜單欄和頂級菜單項即可。

自己繪製非客戶區域充滿了危險。你確定你不只是想用owner drawn menu

它可能很容易調整你的UI對話框以適應你的確切需求,但是也要記住,它已經習慣了Windows的外觀和感覺的用戶震驚。