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

warning C4312: “类型转换” : 从“UINT”转换到更大的“HMENU”(如何解决)

2012-01-20 
warning C4312: “类型转换” : 从“UINT”转换到更大的“HMENU”(怎么解决)?voidCButton::Create(HWNDhWndParen

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)回收。

热点排行