Значок ресурси

Наступний код використовує функції CreateIconFromResourceEx, DrawIconі LookupIconIdFromDirectoryEx, і кілька функцій ресурсу, створити маркер значок на основі значок дані з іншого виконуваного файлу. Потім то відображається значок у вікні.

HICON hIcon1;       / / значок ручка HINSTANCE hExe;     / / ручка для завантаження.EXE файлу HRSRC hResource;    / / ручка для FindResource HRSRC hMem;         / / ручка для LoadResource БАЙТ * lpResource;   / / адреса з ресурсу дані int nID;            / / Ідентифікатор ресурсу, який найкращим чином відповідає поточній екран HDC hdc;        / / ручка для відображення контекстного / / завантажити файл, з якого потрібно скопіювати значок. 
 
hExe = LoadLibrary("myapp.exe"); 
 
/ / Знайти каталог значок, чиї ідентифікатор є 440. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(440), RT_GROUP_ICON); 
 
/ / Завантажити і заблокувати каталог значок. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Отримати ідентифікатор значка, який найбільш підходить / / для дисплея. 
 
nID = LookupIconIdFromDirectoryEx((PBYTE) lpResource, правда, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Знайти біти для nID значок. 
 
hResource = FindResource (hExe, MAKEINTRESOURCE(nID), MAKEINTRESOURCE(RT_ICON)); 
 
/ / Завантажити і значок блокування. 
 
hMem = LoadResource (hExe, hResource); 
 
lpResource = LockResource(hMem); 
 
/ / Створити дескриптор значок. 
 
hIcon1 = CreateIconFromResourceEx((PBYTE) lpResource, SizeofResource (hExe, hResource), правда, 0x00030000, CXICON, CYICON, LR_DEFAULTCOLOR); 
 
/ / Нічия значок в області клієнта. 
 
DrawIcon (hdc, 10, 20, hIcon1) 

 

Index