Win32asm обучение


Урок 13 - Окна в windows - часть 5


mov  wc.hbrBackground, COLOR_WINDOW
mov  wc.lpszMenuName, NULL
mov  wc.lpszClassName, OFFSET ClassName

Цвет фона класса установлен в COLOR_WINDOW, никакое меню не определено (NULL), и lpszClassName установлен адрес строки имени класса, закачивающейся нулем: "FirstWindowClass". Это должно быть уникальное имя, определенное для вашего собственного приложения.

invoke LoadIcon, NULL, IDI_APPLICATION
mov  wc.hIcon, eax
mov  wc.hIconSm, eax

Окну нужен зачек (иконка), а для этого нам нужен хэндл иконки, мы используем LoadIcon, чтобы загрузить значок (иконку) и получать ее хэндл. LoadIcon имеет два параметра: hInstance, и lpIconName. hInstance - хэндл модуля, чей исполняемый файл содержит значок. LpIconName - указатель на строку, которая является названием ресурса значка или ID ресурса. Если вы используете NULL как hInstance, то вы можете выбрать из некоторых стандартных значков. (что мы здесь и делаем, потому что у нас нет ресурса значка). HIconSm - маленький значок, вы можете использовать тот же хэндл и для него.

invoke LoadCursor,NULL,IDC_ARROW
mov  wc.hCursor,eax

Тоже самое и для курсора, только NULL в hInstance, и стандартный тип курсора: IDC_ARROW, стандартная стрелка windows.

invoke RegisterClassEx, ADDR wc

И теперь наконец зарегистрируем класс, используя RegisterClassEx с указателем на wc структуру WNDCLASSEX как параметр.

<смотреть код>

12.5 - Создание окна

Теперь, после того, как вы зарегистрировали класс, вы можете создать из него окно:

HWND CreateWindowEx(

DWORD dwExStyle, // дополнительные стили окна
LPCTSTR lpClassName, // указатель на имя зарегистрированного класса
LPCTSTR lpWindowName, // указатель на имя окна
DWORD dwStyle, // стили окна
int x, // позиция окна по горизонтали
int y, // позиция окна по вертикали
int nWidth, // ширина окна
int nHeight, // высота окна
HWND hWndParent, // хэндл родительского окна
HMENU hMenu, // хэндл меню окна
HINSTANCE hInstance, // Хэндл программного модуля, создающего окно.



- Начало -  - Назад -  - Вперед -



Книжный магазин