піктограми, що підлягає завантаженні. Якщо заданий системна піктограма, то параметр повинен приймати одне із значень ідентифікаторів IDI_.
, що повертається: при успішному виконанні - хендл завантаженої піктограми, інакше - NULL.
4. Функція AddFontResource () Зазвичай використовується для введення ресурсу шрифту з файлу в таблицю шрифтів Windows. Таблиця шрифтів містить дані про шрифти, доступних для програми Windows. В якості імен файлів шрифтів може бути зазначено:
файл. FON ресурсу шрифту;
файл. FNT первинного растрового шрифту;
файл. TTF первинного шрифту TrueType;
файл. TTC колекції шрифтів TrueType;
файл. FOT ресураса TrueType;
файл. OTF шрифту OpenType PostScript;
файл. MMM ресурсу шрифту Type 1 з кількома базовими шрифтами;
файл. PFB двійкового подання шрифту Type 1;
файл. PFM метрики шрифту Type 1.
Синтаксис функції наступний:
int AddFontResource (LPCTSTR lpszFileName)
Параметри:
lpszFileName - покажчик на рядок з нульовим символом в кінці, яка містить припустиме ім'я файлу шрифту.
, що повертається: при успішному виконанні - число доданих шрифтів, інакше - NULL.
Якщо необхідно ввести шрифт, дані якого повинні бути отримані з декількох файлів ресурсу, в якості параметра lpszFileName необхідно вказати імена всіх цих файлів, розділені символом (|).
Вікнам верхнього рівня повинно бути надіслано повідомлення WM_FONTCHANGE, щоб працюючі програми отримали інформацію про зміну складу доступних шрифтів. Видаляє з таблиці шрифтів Windows шрифти, містяться у вказаному файлі, функція RemoveFontResource (). Зазвичай вона застосовується при обробці повідомлення WM_DESTROY для видалення доданих ресурсів шрифту. Синтаксис функції наступний:
BOOL RemoveFontResource (LPCTSTR lpszFileName)
Параметри:
lpszFileName - покажчик на рядок з нульовим символом в кінці, яка містить ім'я файлу ресурсу шрифту.
, що повертається: при успішному виконанні - TRUE, інакше - NULL.
Роботу зі шрифтами розглянемо пізніше.
5. Для завантаження повідомлень з файлу ресурсу служить функція FormatMessage (). Про неї також пізніше.
Існує п'ять типів многострочного опису ресурсу:
MENU.
ACCELERATORS.
DIALOG.
STRINGTABLE.
RCDATA.
Багаторядкові типи опису ресурсів легко розпізнати. У них для визначення блоків даних ресурсу використовуються оператори BEGIN і END. Найбільш простий опис ресурсів це:
Таблиці рядків (STRINGTABLE)
У більшості додатків в повідомленнях і текстовому виведенні застосовуються символьні рядки. В системі Windows в якості альтернативи звичайному методу розміщення рядків в області статичних даних програми передбачені таблиці рядків. Символьні рядка визначаються у файлі опису ресурсу і набувають ідентифікаційне значення. Наприклад:
STRINGTABLE
BEGIN
IDS_STRING1 "Рядок 1"
IDS_STRING2 "Рядок 2"
IDS_STRING3 "Рядок 3"
END
Ідентифікаційні значення рядків зазвичай визначаються в окремому файлі заголовка, який включений в файл описи ресурсу, поряд з модулем, що забезпечує доступ до рядків.
Для використання цих даних в додатку служить функція LoadString ().
фукнции LoadString (). Кожен рядок таблиці отримує свій ідентифікатор. Функція LoadString () копіює символьні дані з файлу ресурсу в буфер пам'яті, щоб з нею можна було виконати необхідні дії і відобразити. Рядки в таблиці можуть містити керуючі символи, такі як символи табуляції та символи нового рядка. Синтаксис функції наступний:
int LoadString (HINSTANCE hInst, UINT uID, LPTSTR lpBuffer, int nBuffer)
Параметри:
hInst - хендл додатки, в яке завантажується рядок;
uID - ідентифікаційне значення для рядка в таблиці рядків. Цей параметр позначає позицію зліва від рядка в файлі ресурсу;
lpBuffer - покажчик на буфер, який прийме символьну рядок. Буффер повинен мати довжину не менше nBuffer символів типу TCHAR;
nBuffer - максимальне число символів, які повинні бути скопійовані в буфер lpBuffer.
, що повертається: при успішному виконанні - число символів типу TCHAR, скопійованих в буфер, без урахування нульового символу - кінця рядка, інакше - 0.
Ресурси створюються окремо від файлів програми і додаються в bin-файл при Лінкування програми. Переважна більшість ресурсів міститься у файлах ресурсів, що мають розширення. RC. Файл ресурсів зазвичай збігається з ім'ям bin-файлу програми. Так, якщо ім'я програми MYPROG. EXE, то ім'я файлу ресурсів - MYPROG. RC. p> При створенні RC-файлів програміст може зіткнутися з однією тонкістю. Деякі ресурси, такі, як іконки, курсори, діалогові вікна, зображення (bitmap'и) можуть бути збережені в окремих файлах з...