读书人

高手求救该如何处理

发布时间: 2012-01-15 22:57:49 作者: rapoo

高手求救,
我在view类下用函数GetMenu()
为什么要加GetParent()
我知道view类没有菜单,但是GetMenu()是判断CWnd类用没有菜单啊!

我也去SRC这个文件夹中去找GetMenu()这个函数的原代码,但是没有找到!
找到了的发上来看看拉,谢谢

[解决办法]
View的父窗口应该是MainFrame。一般Menu是属于MainFrame的。所以要先GetParent得到父窗口指针。 当然要强制类型转换。
[解决办法]
你可以用GetMenu(),只不过视图中返回NULL。
[解决办法]
三楼说得清楚啊,菜单是属于CMainFrame类的,它是View类的父窗体。

LZ怎么能断章取义呢,MSDN写的是The value is NULL if CWnd has no menu。子窗体不可以有菜单,所以View类没有菜单,但CMainFrame类是Overlapped窗体,它可以有菜单。实际上文档视图结构中的菜单就是CMainFrame的。你在CMainFrame中做那个实验,可以发现消息框并未弹出。

读书人网 >VC/MFC

热点推荐