找出窗口是否有菜单栏

时间:2016-06-09 14:41:48

标签: c++ c windows winapi

我想知道是否可以获取信息,Windows窗口中是否有菜单。

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

1 个答案:

答案 0 :(得分:3)

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

  

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

另一方面,如果你需要知道,一个尚未创建的窗口是否会有默认菜单 1),你可以通过以下方式查询班级信息致电GetClassInfo,并比较返回的WNDCLASS' lpszMenuName 成员。同样,正如文档所解释的那样:

  

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

<小时/> 1) 请注意,通过调用SetMenu,窗口仍可在运行时添加或删除菜单。