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

Лабораторная работа №1 Структура приложения под Windows

Выполнил: Снигирев Никита

Группа: А-05-14

Введение

  1. Получить координаты окна (прямоугольник) GetWindowRect

Для получения координат прямоугольника приложения используется функция:

BOOL GetWindowRect

(

HWND hWnd, // указатель на окно

LPRECT lpRect // указатель на структуру с координатами

);

Результат возвращается в единицах экрана (т.е. пикселах) относительно левого верхнего угла экрана. Если функция выполнена удачно, то она вернет ненулевое значение.

Для получения области клиента используется функция:

BOOL GetClientRect

(

HWND hWnd, // указатель на окно

LPRECT lpRect // указатель на структуру с координатами

);

Координаты левого верхнего угла 0,0 так как результат возвращается относительно клиентской области. При удачном выполнении вернется ненулевое значение.

  1. Установить координаты окна 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 // флажки позиционирования окна

);

  1. Переместить окно MoveWindow

Функция MoveWindow изменяет позицию и габариты определяемого окна. Для окна верхнего уровня, позиция и габариты - относительно левого верхнего угла экрана. Для дочернего окна, они - относительно левого верхнего угла рабочей области родительского окна.

Синтаксис

BOOL MoveWindow

(

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

Int X, // позиция по горизонтали

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

int nWidth, // ширина

int nHeight, // высота

BOOL bRepaint // флажок перекраски

);

  1. Вывод сообщения Message Box

Функция MessageBox создает, отображает на экране и оперирует окном сообщений. Окно сообщений содержит определяемое программой сообщение и заголовок, плюс любую комбинацию предопределенных пиктограмм и командных кнопок.

Синтаксис

int MessageBox

(

HWND hWnd, // дескриптор окна владельца

LPCTSTR lpText, // адрес текста в окне сообщений

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

UINT uType // стиль окна сообщений

);

  1. Создать окно 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()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]