世界杯预选赛中国队赛程_世界杯多少年一次 - fybstd.com


LoadIcon的使用

函数原型:

HICON WINAPI LoadIcon ( HINSTANCE hInstance, LPCTSTR lpIconName );

参数

1.hInstance类型:HINSTANCE

图标资源所在模块的实例句柄。如果是标准图标,此参数必须为NULL。

2.lpIconName类型:LPCTSTR 图标资源名或资源标识符,资源标识符由16位组成,在低16位,高16位为0。宏 MAKEINTRESOURCE 可以将资源标识符强制转换成参数的资源名类型。如果使用预定义的图标,需要将hInstance参数设置成NULL,并且lpIconName值必须是以下之一:

宏名宏值意义IDI_APPLICATIONMAKEINTRESOURCE(32512)默认应用程序图标IDI_ASTERISKMAKEINTRESOURCE(32516)星状图标,同 IDI_INFORMATIONIDI_ERRORMAKEINTRESOURCE(32513)手型图标IDI_EXCLAMATIONMAKEINTRESOURCE(32515)感叹号状图标,同 IDI_WARNINGIDI_HANDMAKEINTRESOURCE(32513)手型图标,同 IDI_ERRORIDI_INFORMATIONMAKEINTRESOURCE(32516)星状图标IDI_QUESTIONMAKEINTRESOURCE(32514)问号图标IDI_SHIELDMAKEINTRESOURCE(32518)安全防护罩图标IDI_WARNINGMAKEINTRESOURCE(32515)感叹号状图标IDI_WINLOGOMAKEINTRESOURCE(32517)默认应用程序图标(Windows 2000 为Windows Logo图标)

返回值

类型:HICON

如果成功,返回最近一次加载的图标句柄。 如果失败,返回NULL。

注意:

1、使用系统预定义图标,必须把第一个参数设置为NULL.

在初始化时,我们可以这样使用:

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;

相应的显示:

2、另外,我们也可以使用自定义的图标:

用到MAKEINTRESOURCE宏(这个宏是把一个数字类型 转换成 指针类型的宏, 原因是有的资源是用序号定义的,而不是字符串.)

wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE(IDI_ICON1)) ;

在VS2012下的Resource View下的项目添加ICO文件,它会生成ID号,默认的IDI_ICON1.

3、常用的形式

3.1 在CWinApp中封装有该成员函数,有2种:

HICON LoadIcon( LPCTSTR lpszResourceName ) const;

HICON LoadIcon( UINT nIDResource ) const;

所以如果添加了资源,ID 为IDI_ICON1,调用时直接:

AfxGetApp()->LoadIcon(IDI_ICON1);

但是这种方法并不能加载系统预定义图标,在CWinApp中还有个装载图标的函数:

HICON LoadStandardIcon( LPCTSTR lpszIconName ) const;

如:

AfxGetApp()->LoadStandardIcon(IDI_QUESTION);

3.2 当然在MFC中可以调用全局函数来加载图标,但是如果要装载自己添加的图标资源,要注意下面几种写法:

LoadIcon(AfxGetApp()->m_hInstance,(LPCTSTR)IDI_ICON1);

LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(ICON1));

LoadIcon(AfxGetInstanceHandle(),,MAKEINTRESOURCE(ICON1));

以上都是正确的.