1. 在使用Win32编程时,如果想更换默认的标题栏图标和任务栏图标,注意点如下:
a. 窗口注册类型为WNDCLASS,在更改icon图标时,只要
WNDCLASS wc;
wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_YUANICON));
....
RegisterClass(&wc);
b. 窗口注册类型为WNDCLASSEX,在更改icon图标时,要有两条语句
WNDCLASSEX wcex;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_YUANICON));
wcex.hIconSm = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_YUANICON));
.....
RegisterClassEX(&wcex);
注意的是,WNDCLASSEX结构体中比WNDCLASS多了一个字段cbSize,这是只要给cbSize赋值即可:wcex.cbSize = sizeof(WNDCLASSEX);
其中 IDI_YUANICON为自定义的图标
2. 如果要在程序运行的过程中动态的改变ICON图标,只要在WM_PAINT消息中加入下一条语句:
//动态地更改程序的图标
SetClassLong(hwnd, GCL_HICON, (LONG)LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ANOTHER)));
//动态更改鼠标图标
SetClassLong(hwnd, GCL_HCURSOR, (LONG)LoadCursor(hInstance, MAKEINTRESOURCE(IDC_VCURSOR)));