首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么获得窗口菜单绘制区域的矩形

2012-02-07 
如何获得窗口菜单绘制区域的矩形?例如打开记事本,上面的菜单就有“文件、编辑、格式、查看、帮助”这几个菜单得

如何获得窗口菜单绘制区域的矩形?
例如打开记事本,上面的菜单就有“文件、编辑、格式、查看、帮助”这几个菜单
得知了记事本窗口的句柄,如何知道整个菜单区域(不是单个菜单项)的矩形?
矩形的四个点要的是屏幕中的坐标。。。

就是想下面这张图一样,获取红框这个矩形的坐标


[解决办法]
好像没有直接获得这个区域的函数,我只知道一般是GetWindowRect中去掉GetClientRect,以及边框标题栏等的部分.
对了,那个GetMenuItemRect不知是否有用呢,设hMenu为0试试
BOOL GetMenuItemRect(
HWND hWnd,
HMENU hMenu,
UINT uItem,
LPRECT lprcItem
);

[解决办法]
楼主取这个区域有什么用处呢?


我觉得好象不参直接得到整个菜单区域,不过可以这样算出来:

它的左上角就是 “文件”菜单的左上角;
它的右下角就是 “客户区矩形”的右上角(把y坐标再减1象素)。

热点排行