现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

LoadMenu 与 MAKEINTRESOURCE

2012-09-18 23:33 工业·编程 ⁄ 共 552字 ⁄ 字号 暂无评论

LoadMenu:

HMENU LoadMenu(
  HINSTANCE hInstance,  // handle to module
  LPCTSTR lpMenuName    // menu name or resource identifier
);
其中参数 lpMenuName是用MAKEINTRESOURCE产生的,而
#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
#ifdef UNICODE
#define MAKEINTRESOURCE MAKEINTRESOURCEW
#else
#define MAKEINTRESOURCE MAKEINTRESOURCEA
#endif // !UNICODE

    这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题.

    用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针,然后再传递给LoadResource之类的函数,这样才加载了资源.

    要释放资源(用LoadResource加载的)可以调用FreeResource函数把LoadResource返回的指针传递给FreeResource.

给我留言

留言无头像?