Графическое изображение типа bitmap
В ресурсы приложения вы можете включить произвольное графическое изображение в виде битового образа (в дальнейшем мы будем называть такое изображение изображением типа bitmap или просто изображением bitmap).
С помощью графического редактора, входящего в состав Resource Workshop, или с помощью стандартного приложения Paint Brush вы можете нарисовать прямоугольное графическое изображение типа bitmap. При этом для представления цвета одного пикселя может использоваться разное количество бит. Изображение записывается в файл с расширением имени bmp.
Изображения bitmap удобно использовать для оформления внешнего вида окон приложения. С помощью таких изображений вы можете, например, создать органы управления любой формы (например, круглые кнопки с картинками), нарисовать фотографию, введенную сканером, заставку или эмблему фирмы.
Создание изображения типа bitmap
Для создания изображения bitmap запустите Resource Workshop и из меню "File" выберите строку "New Project". В появившейся диалоговой панели включите переключатель ".BMP" и нажмите кнопку "OK".
Включение изображения bitmap в файл описания ресурсов
Для включения изображения типа bitmap в файл описания ресурсов используется такой же способ, как и для включения пиктограмм. Файл описания ресурсов должен содержать оператор BITMAP:
BitmapID BITMAP [параметры загрузки] [тип памяти] имя файла
Параметры загрузки и тип памяти указывается так же, как и для описанной нами ранее таблицы строк STRINGTABLE, пиктограммы и курсора. В качестве имени файла необходимо указать имя файла, содержащего изображение bitmap, например:
AppBitmap BITMAP mybrush.bmp
Идентификатор изображения bitmap BitmapID можно указывать как символическое имя или как целое число - идентификатор ресурса.
Загрузка изображения bitmap
Для загрузки изображения bitmap вы должны использовать функцию LoadBitmap:
HBITMAP WINAPI LoadBitmap(HINSTANCE hInst,LPCSTR lpszBitmap);
Назначение параметров этой функции аналогично назначению параметров функций LoadIcon и LoadCursor. Параметр hInst указывает идентификатор текущей копии приложения, параметр lpszBitmap - идентификатор bitmap в файле описания ресурсов.
Функция возвращает идентификатор изображения, который следует использовать для рисования bitmap.
Перед завершением работы приложение должно удалить загруженное изображение, вызвав функцию DeleteObject:
BOOL WINAPI DeleteObject(HGDIOBJ hGDIObj);
В качестве параметра этой функции следует передать идентификатор изображения, полученный от функции LoadBitmap.
Если при регистрации класса окна было определено меню, вы можете создавать окна с этим меню, или можете указать для создаваемого окна другое меню. Для подключения меню, отличного от указанного в классе окна, вам необходимо задать идентификатор нужного меню при создании окна функцией CreateWindow. Короче говоря, окно может иметь меню, определенное в классе, или свое собственное.
Девятый параметр функции CreateWindow используется для подключения меню к создаваемому окну:
Значение параметра идентификатора меню может быть получено, например, от функции LoadMenu , определенной в программном интерфейсе Windows:
HMENU WINAPI LoadMenu(HINSTANCE hInstance, LPCSTR lpszMenuName);
Параметр hInstance должен содержать идентификатор текущей копии приложения, полученный через соответствующий параметр функции WinMain.
Параметр lpszMenuName является указателем на строку символов, закрытую двоичным нулем, содержащую имя загружаемого шаблона меню. Если для идентификации шаблона меню используется целое число, необходимо сформировать этот указатель при помощи макрокоманды MAKEINTRESOURCE.
Функция LoadMenu возвращает идентификатор загруженного меню или NULL при ошибке.
Перед завершением своей работы приложение должно уничтожить загруженное меню функцией DestroyMenu :
BOOL WINAPI DestroyMenu(HMENU hmenu);
В качестве единственного параметра функции DestroyMenu необходимо указать идентификатор уничтожаемого меню.
Функция DestroyMenu возвращает в случае успеха значение TRUE, при ошибке - FALSE.
Дата добавления: 2016-07-22; просмотров: 1961;