Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы Word.docx
Скачиваний:
26
Добавлен:
16.03.2016
Размер:
352.09 Кб
Скачать

Структура окна

WNDCLASS STRUC

CLSSTYPE DD ? ; стиль окна

CWNDPROC DD ? ; указатель на процедуру окна

CLSCEXTRA DD ? ; инф-я о доп. байтах для структуры

CLWNDEXTRA DD ? ; информация о доп. байтах для окна

CLSHINSTANCE DD ? ; дескриптор приложения

CLSICON DD ? ; идентификатор пиктограммы окна

CLSHCURSOR DD ? ; идентификатор курсора окна

CLBKGROUND DD ? ; идентификатор кисти окна

CLMENUNAME DD ? ; имя-идентификатор меню

CLNAM DD ? ; специфицирует имя класса окон

WNDCLASS ENDS

Структура сообщения

MSGSTRUCT STRUC

MSHWND DD ? ;идент. Окна, получающего сообщение

MSMESSAGE DD ? ; идентификатор сообщения

MSWPARAM DD ? ; доп. информация о сообщении

MSLPARAM DD ? ; доп. информация о сообщении

MSTIME DD ? ; время посылки сообщения

MSPT DD ? ; курсор, во время посылки сообщения

MSGSTRUCT ENDS

Константы

Стили окна

  • CS_VREDRAW equ 1

  • CS_HREDRAW equ 2

  • CS_GLOBALCLASS equ 4000H

  • WS_TABSTOP equ 10000H

  • WS_SYSMENU equ 80000H

  • WS_VISIBLE equ 10000000H

  • WS_CHILD equ 40000000H

  • WS_BORDER equ 800000H

  • WS_THICKFRAME equ 40000H

  • WS_VSCROLL equ 200000H

  • WS_OVERLAPPEDWINDOW equ WS_TABSTOP+WS_SYSMENU

В программе стиль главного окна программы задается следующим образом:

STYLE EQU CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS

Стиль кнопки

  • BS_PUSHBUTTON equ 0

  • BS_DEFPUSHBUTTON equ 1

  • BS_CHECKBOX equ 2

  • BS_AUTOCHECKBOX equ 3

  • BS_RADIOBUTTON equ 4

  • BS_GROUPBPX equ 7

  • BS_LEFTTEXT equ 20H

В программе стиль кнопки определяется следующим образом:

STYLBTN equ WS_CHILD+BS_DEFPUSHBUTTON+WS_VISIBLE+S_TABSTOP

Некоторые API-функции

  1. Функция MessageBoxA :

Создает и отображает диалог, содержащий указанное сообщение и заголовок, а также предопределенные пиктограммы и текстовые кнопки.

int MessageBox(

HWND hWnd, // дескриптор окна

LPCTSTR lpText, // адрес строки текста диалога

LPCTSTR lpCaption, // адрес заголовка диалога

UINT uType // стиль окна диалога

);

2. Функция GetModuleHandleA :

Возвращает дескриптор приложения.

HMODULE GetModuleHandle(

LPCTSTR lpModuleName // адрес приложения

);

3. Функция LoadCursorA :

Загружает указанный курсор из исполняемого файла, связанного с экземпляром приложения или файла ресурсов.

HCURSOR LoadCursor(

HINSTANCE hInstance, // дескриптор экземпляра приложения

LPCTSTR lpCursorName //строка с именем курсора или идентификатор ресурса

);

4. Функция LoadIconA :

Загружает указанную пиктограмму из исполняемого файла, связанного с экземпляром приложения, или файла ресурсов.

HICON LoadIcon(

HINSTANCE hInstance, // дескриптор экземпляра приложения

LPCTSTR lpIconName // строка с именем курсора или идентификатор ресурса

);

5. Функция RegisterClassA :

Регистрирует класс окна, атрибуты которого определены в структуре WndClass, для последующего использования. Класс окна может регистрироваться только один раз.

ATOM RegisterClass(

CONST WNDCLASS *lpWndClass // адрес структуры окна

);

6. Функция CreateWindowExA :

Создает перекрытое, всплывающее или дочернее окно с расширенным стилем.

HWND CreateWindowEx(

DWORD dwExStyle, // расширенный стиль окна

LPCTSTR lpClassName, // спецификация имени класса окна

LPCTSTR lpWindowName, // заголовок окна

DWORD dwStyle, // стиль окна

int x, // горизонтальная позиция окна

int y, // вертикальная позиция окна

int nWidth, // ширина окна

int nHeight, // высота окна

HWND hWndParent, // дескриптор родительского, дочернего окна

HMENU hMenu, // дескриптор меню

HINSTANCE hInstance, // дескриптор приложения

LPVOID lpParam // pointer to window-creation data

);