- •Лабораторная работа №1 Структура приложения под Windows
- •Получить координаты окна (прямоугольник) GetWindowRect
- •Установить координаты окна SetWindowPos
- •Переместить окно MoveWindow
- •Int X, // позиция по горизонтали
- •Int y, // позиция по вертикали
- •Вывод сообщения Message Box
- •Создать окно CreateWindow
- •Установка идентификатора: SetWindowLong
- •Функции GetWindowText и SetWindowText
- •Функции SetParent и GetParent
- •Функция Sleep (пауза)
- •Функции для работы с регионами
- •Описание событий мыши с параметрами, а также событий
Лабораторная работа №1 Структура приложения под Windows
Выполнил: Снигирев Никита
Группа: А-05-14
Введение
Получить координаты окна (прямоугольник) GetWindowRect
Для получения координат прямоугольника приложения используется функция:
BOOL GetWindowRect
(
HWND hWnd, // указатель на окно
LPRECT lpRect // указатель на структуру с координатами
);
Результат возвращается в единицах экрана (т.е. пикселах) относительно левого верхнего угла экрана. Если функция выполнена удачно, то она вернет ненулевое значение.
Для получения области клиента используется функция:
BOOL GetClientRect
(
HWND hWnd, // указатель на окно
LPRECT lpRect // указатель на структуру с координатами
);
Координаты левого верхнего угла 0,0 так как результат возвращается относительно клиентской области. При удачном выполнении вернется ненулевое значение.
Установить координаты окна SetWindowPos
Функция SetWindowPos изменяет размер, позицию и Z-последовательность дочернего, выскакивающего или верхнего уровня окна. Дочерние, выскакивающие и верхнего уровня окна размещаются по порядку согласно их появлению на экране. Самое верхнее окно принимает самый высокий ранг и становится первым окном в Z-последовательности.
Z-последовательность (Z order) окна обозначает позицию окна в стеке перекрывающихся окон. Этот оконный стек ориентируется по воображаемой оси, z-оси (оси аппликат), уходящей за пределы экрана. Окно наверху Z-последовательности перекрывает все другие окна. Окно внизу Z-последовательности перекрыто всеми другими окнами.
Синтаксис
BOOL SetWindowPos
(
HWND hWnd, // дескриптор окна
HWND hWndInsertAfter, // дескриптор порядка размещения
int X, // позиция по горизонтали
int Y, // позиция по вертикали
int cx, // ширина
int cy, // высота
UINT uFlags // флажки позиционирования окна
);
Переместить окно MoveWindow
Функция MoveWindow изменяет позицию и габариты определяемого окна. Для окна верхнего уровня, позиция и габариты - относительно левого верхнего угла экрана. Для дочернего окна, они - относительно левого верхнего угла рабочей области родительского окна.
Синтаксис
BOOL MoveWindow
(
HWND hWnd, // дескриптор окна
Int X, // позиция по горизонтали
Int y, // позиция по вертикали
int nWidth, // ширина
int nHeight, // высота
BOOL bRepaint // флажок перекраски
);
Вывод сообщения Message Box
Функция MessageBox создает, отображает на экране и оперирует окном сообщений. Окно сообщений содержит определяемое программой сообщение и заголовок, плюс любую комбинацию предопределенных пиктограмм и командных кнопок.
Синтаксис
int MessageBox
(
HWND hWnd, // дескриптор окна владельца
LPCTSTR lpText, // адрес текста в окне сообщений
LPCTSTR lpCaption, // адрес заголовка в окне сообщений
UINT uType // стиль окна сообщений
);
Создать окно CreateWindow
Данная функция используется для создания окна приложения:
HWND CreateWindow
(
LPCTSTR lpClassName, // имя класса окна
LPCTSTR lpWindowName, // заголовок окна
DWORD dwStyle, // стиль окна
int x, // горизонтальная позиция окна
int y, // вертикальная позиция окна
int nWidth, // ширина окна
int nHeight, // высота окна
HWND hWndParent, // указатель на родительское окно
HMENU hMenu, // указатель на меню
HINSTANCE hInstance, // указатель на приложение создающее окно
LPVOID lpParam // дополнительные параметры
);
Для того, чтобы создать окно, класс окна необходимо сначала зарегистрировать. Это делается функцией RegisterClass()
