2016-06-09 32 views
1

我想知道是否有可能获取信息,无论是否在Windows窗口中有菜单。找出一个窗口是否有菜单栏

此信息将用作AdjustWindowRect的第3个参数。如果可能的话,我不希望自己保存这些信息。

+0

我推荐使用关键字“MSDN C++ detect menu”搜索互联网 –

+2

如果['GetMenu'](https://msdn.microsoft.com/en-us/library/windows/desktop/ms647640%28v=vs .85%29.aspx)返回NULL,那么没有标准菜单。 –

+0

阿哈..我正在搜索MSDN ...但从来没有找到菜单引用..谢谢你们! – fodinabor

回答

3

如果窗口已经创建,您可以拨打GetMenu,传递窗口的句柄。如文档中所述:

如果指定的窗口没有菜单,则返回值为NULL。

如果,另一方面,你需要知道,是否已经没有创建一个窗口,将默认1)一个菜单,你可以通过调用GetClassInfo查询类信息,并比较返回的WNDCLASS'lpszMenuName成员。再次,正如文档解释:

如果此成员为NULL,属于此类的窗口没有默认菜单。


1) 注意,一个窗口仍可以通过调用SetMenu添加或删除运行菜单。

相关问题