МЕХАНІЗМИ ВЗАЄМОДІЇ ПРОГРАМИ З
КОРИСТУВАЧЕМ
План
Файл ресурсів
Меню програми
Акселератори
Файл ресурсів
Ресурсами називаються деякі дані, які визначаються ще до початку роботи програми, особливим чином додаються в виконуваний файл і використовуються при роботі програми. Яскравими прикладами таких даних є:
іконки
курсори миші.
використовуються в програмі зображення;
рядки символів;
меню;
прискорювачі клавіатури;
діалогові вікна;
шрифти;
ресурси, які визначаються користувачем.
Крім того, що ресурси визначаються до початку роботи програми і додаються у виконуваний файл, у них є ще одна характерна риса. При завантаженні bin-файлу в пам'ять, РЕСУРСИ У ПАМ'ЯТЬ НЕ ЗАВАНТАЖУЮТЬСЯ. Тільки у випадку, якщо той чи інший ресурс потрібен для роботи програми, програма сама завантажує ресурс в пам'ять.
Можливість використання того чи іншого атрибуту в якості ресурсу не означає, що програміст не може створювати ці атрибути в програмі.
Всі ресурси, заздалегідь визначені в Win32 API, називаються стандартними.
Існує п'ять типів короткого опису ресурсу:
BITMAP.
CURSOR.
ICON.
FONT.
MESSAGETABLE.
Кожен з цих операторів завантажує файл даних зазначеного типу в дані ресурсу. Після включення цих даних до дані ресурсу можуть застосовуватися функції LoadBitmap (), LoadCursor () і LoadIcon () для безпосереднього доступу до відповідних даних в програмі.
1. Функція LoadBitmap () Завантажує ресурс растрового зображення з файлу ресурсів. У файлі опису ресурсів програми необхідно вказати растрове зображення за допомогою оператора BITMAP. Формат оператора має наступний вигляд:
BITMAPNAME BITMAP "BITMAPFILE. BMP "
По закінченні використання растрового зображення, додаток повинен викликати функцію DeleteObject () Для звільнення пам'яті, займаної зображенням. Синтаксис функцій наступний:
HBITMAP LoadBitmap (HINSTANCE hInst, LPCTSTR lpszBitmap)
Параметри:
hInst - хендл додатки, в яке завантажується растрове зображення;
lpsz Bitmap - покажчик на рядок з нульовим символом в кінці, яка містить ім'я ресурсу растрового зображення, що підлягає завантаженні.
, що повертається: при успішному виконанні - хендл завантаженого растрового зображення, інакше - NULL.
Функція DeleteObject () Видаляє логічний об'єкт, для створення яких застосовується досить багато функцій. Синтаксис функції наступний. p> BOOL DeleteObject (HGDIOBJ hGdiObject)
Параметри:
hGdiObject - хендл об'єкта GDI. Цей параметр повинен вказувати хендл пера, растрового зображення, кисті, області, палітри або шрифту.
, що повертається: при успішному виконанні - TRUE, інакше - FALSE.
2. Функція LoadCursor () Завантажує ресурс курсору з файлу ресурсів. Якщо курсор завантажений у складі визначення класу вікна, то курсор миші, перебуваючи в межах клієнтської області вікна, буде приймати форму завантаженого курсору. У файлі опису ресурсів додатка необхідно вказати піктограму за допомогою оператора CURSOR. Формат оператора має наступний вигляд:
CURSORNAME CURSOR "CURSORFILE. CUR "
Якщо потрібно в різний час мати різні форми курсору в клієнтській області вікна, то форма курсора класу вікна повинна бути встановлена ​​в NULL, а курсор повинен бути вказаний шляхом виклику функції SetCursor () при отриманні кожного повідомлення WM_SETCURSOR. Синтаксис функцій наступний:
HCURSOR LoadCursor (HINSTANCE hInst, LPCTSTR lpszCursor)
Параметри:
hInst - хендл додатки, в яке завантажується курсор. Для завантаження системного курсора параметр hInst повинен бути рівним NULL;
lpszCursor - покажчик на рядок з нульовим символом в кінці, яка містить ім'я ресурсу курсору, що підлягає завантаженні. Якщо заданий системний курсор, то параметр повинен приймати одне з значень ідентифікаторів IDC_.
, що повертається: при успішному виконанні - хендл завантаженого курсору, інакше - NULL.
3. Функція LoadIcon () Завантажує піктограму з файлу ресурсів. У файлі опису ресурсів додатка необхідно вказати піктограму за допомогою оператора ICON. Формат оператора має наступний вигляд:
ICONNAME ICON "ICONFILE. ICO "
Ця функція також дозволяє отримати піктограми, визначені в системі. Для завантаження системних піктограм параметр hInst повинен бути рівним нулю. Синтаксис функцій наступний:
HICON LoadIcon (HINSTANCE hInst, LPCTSTR lpszIcon)
Параметри:
hInst - хендл додатки, в яке завантажується растрове зображення;
lpszIcon - покажчик на рядок з нульовим символом в кінці, яка містить ім'я ресурсу...