Win32asm обучение


Урок 13 - Окна в windows


     Win32Asm Tutorial     
 назад13- Окна в windows вперед

12.0 - Окна в windows

В этом уроке мы создадим программу с окном.

12.1 - Окна

Вы наверняка догадываетесь, почему windows так назван. В windows, есть два типа программ: GUI-приложения и консольные приложения. Консольные программы похожи на DOS-программы, они выполняются в поле подобном DOS. Большинство программ, которые вы используете это GUI (graphical user interface) приложения. У них есть графический интерфейс, для взаимодействия с пользователем. Это сделано, созданием окон. Почти все, что вы видите в windows, это окна. Сначала вы создаете родительское окно, а затем его дочерние окна (контролы) такие, как окна редактирования, статические контролы, кнопки и т.д.

12.2 - Классы окон

Каждое окно имеет имя класса. Для вашего родительского окна, вы определяете ваш собственный класс. Для контролов, вы можете использовать стандартные классы окон (такие как 'EDIT', 'STATIC', 'BUTTON').

12.3 - Структуры

Класс окна в вашей программе регистрируется с помощью функции 'RegisterClassEx' (RegisterClassEx это расширенная версия RegisterClass. RegisterClass используется редко). Объявление этой функции:

ATOM RegisterClassEx(

CONST WNDCLASSEX *lpwcx // адрес структуры с данными класса
);

lpwcx: Указатель на структуру WNDCLASSEX. Вы должны заполнить структуру соответствующими классу аттрибутами перед передачей ее функции.

Единственный параметр это указатель на структуру. Сначала некоторые основы относительно структур:

Структура это набор переменных (данных). Структура определяется директивой STRUCT:

SOMESTRUCTURE STRUCT
dword1 dd ?
dword2 dd ?
some_word dw ?
abyte db ?
anotherbyte db ?
SOMESTRUCTURE ENDS

(имя структуры не должно содержать прописных букв)

Вы также можете объявить ваши переменные в секции неинициализированных данных, со знаком вопроса. Теперь вы можете создать структуру из объявления:

Инициализированная

Initializedstructure SOMESTRUCTURE <100,200,10,'A',90h>




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



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