Nahrßvßnφ zdroj∙ z dll knihovny je velmi jednoduchΘ. V podstat∞ jde jen o zφskßnφ handle instance knihovny a potΘ m∙₧eme pou₧φt odpovφdajφcφ API funkci pro zφskßnφ zdroje. Musφme jen znßt jeho identifikßtor (bu∩ °et∞zec nebo celΘ Φφslo). Nßsleduje p°φklad nahrßnφ ikony.
// Nahrßnφ knihovny
HINSTANCE hInst = LoadLibrary("pokus.dll");
// Nahrßnφ ikony z knihovny idetifikovanΘ °et∞zcem IKONA
HICON hIco = LoadIcon(hInst, "IKONA");
// Uvoln∞nφ knihovny
FreeLibrary(hInst);
...
Pou₧φvßnφ ikony
...
// Smazßnφ ikony z pam∞ti
DestroyIcon(hIco);
Funkce pro nahrßvßnφ a uvol≥ovßnφ zdroj∙ z knihovny jsou:
Zdroj | Funkce pro nahrßnφ | Funkce pro uvoln∞nφ |
---|---|---|
Accelerator table | LoadAccelerators | DestroyAcceleratorTable |
Bitmap | LoadBitmap | DeleteObject |
Cursor | LoadCursor | DestroyCursor |
Icon | LoadIcon | DestroyIcon |
Menu | LoadMenu | DestroyMenu |
String | LoadString | Nenφ t°eba |
Krom∞ funkce pro nahrßnφ °et∞zce majφ vÜechny nßsledujφcφ prototyp:
HANDLE Funkce(HINSTANCE hInstance, LPCTSTR jmeno_zdroje);
hInstance
- handle instance ze kterΘ chcete zdroj nahrßt.
- bu∩ je to handle instance aplikace, nebo knihovny
jmeno_zdroje
- °et∞zec identifikujφcφ zdroj
- pokud je zdroj identifikovßn pomocφ Φφsla, m∙₧ete pou₧φt
makro MAKEINTRESOURCE pro zφskßnφ odpovφdajφcφho °et∞zce nap° takto:
HICON hIco = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_IKONA));
Funkce LoadString se od ostatnφch liÜφ tφm, ₧e druh² parametr je celΘ Φφslo identifikujφcφ °et∞zec, a mß dalÜφ dva parametry. T°etφ parametr je ukazatel na bufer do kterΘho chcete °et∞zec naΦφst a poslednφ je velikost tohoto buferu.