读书人

warning C4312: “类型转换” : 从“U

发布时间: 2012-01-20 18:53:53 作者: rapoo

warning C4312: “类型转换” : 从“UINT”转换到更大的“HMENU”(怎么解决)?
void CButton::Create(HWND hWndParent, DWORD dwStyleEx, DWORD dwStyle, TCHAR *pszText,
int Left, int Top, int Width, int Height, UINT uID, HINSTANCE hInstance)
{
//创建控件
hWnd = CreateWindowEx(dwStyleEx, "Button ", pszText, dwStyle, Left, Top, Width, Height,
hWndParent, (HMENU)uID, hInstance, NULL);
}
=============================================
问题如下:
warning C4312: “类型转换” : 从“UINT”转换到更大的“HMENU”
=============
怎么解决。


[解决办法]
没有关系的,只是一个警告,或者强制转换一下就成
[解决办法]
一般来说,那个参数填NULL,如果你确定那个uID是菜单资源的ID,
那么HMENU hMenu = LoadMenu(hInstance, MAKEINTRESOURCE(uID)),
然后再把这个hMenu当参数传进去。
对话框销毁后,再DestroyMenu(hMenu)回收。

读书人网 >VC/MFC

热点推荐