BOOL GetMenuBarInfo( HWND hwnd, // handle to window LONG idObject, // menu object LONG idItem, // item identifier PMENUBARINFO pmbi // information );
to goodboyws(深夜不眠者):在代码中加入GetMenuBarInfo函数及MENUBARINFO,编译时提示未定义,加上Windows.h和WinUser.h也不行。另外,在框架上绘图发现,当鼠标移到菜单上,菜单会重新绘图,覆盖原来框架上的图形,这个问题怎么解决?在菜单上绘图有没有专门的消息处理?
HWND hwnd, // handle to window
LONG idObject, // menu object
LONG idItem, // item identifier
PMENUBARINFO pmbi // information
);
#define WINVER 0x0500
http://www.uipower.com/productdown/productdown.asp?lb=Visual+C%2B%2B+%B0%E6
typedef BOOL (WINAPI* FtGetMenuInfo) (HMENU,LPCMENUINFO);
BOOL GetMenuInfo(HMENU hMenu,LPCMENUINFO lpInfo)
{
HMODULE hModule = ::LoadLibrary("user32.dll");
if(hModule)
{
void* pVoid = (void*)GetProcAddress(hModule,"GetMenuInfo");
if(pVoid)
{
((FtGetMenuInfo)pVoid)(hMenu,lpInfo);
}
else
{
::FreeLibrary(hModule);
return false;
}
}
::FreeLibrary(hModule);
return true;
}要解决你菜单的问题 最好还是自己做个菜单来重画