Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оконная процедура

Параметры

BOOL TextOut(

LONG bottom

LONG right,

LONG top,

LONG left,

BOOL GetClientRect

BOOL GetWindowRect

(

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

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

);

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

RECT rc;

GetWindowRect(hwnd,&rc);

 


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

(

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

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

);

Координаты левого верхнего угла 0,0 так как результат возвращается относительно клиентской области. То есть, прямоугольник смещён в левый верхний угол экрана (rc.left=rc.top=0), а значения полей right и bottom равны соответственно ширине и высоте рабочей области.

Структура, в которую можно записать координаты окна имеет следующий вид:

typedef struct tag_tagRECT {

} tagRECT;


Функция TextOut записывает строку символов в заданном месте, используя текущий выбранный шрифт, цвет фона и цвет текста.

HDC hdc, // дескриптор DC

int nXStart, // x-координата начальной позиции

int nYStart, // y-координата начальной позиции

LPCTSTR lpString, // строка символов

int cbString // число символов

);

hdc – Дескриптор контекста устройства.

nXStart – Устанавливает x-координату, в логических координатах, контрольной точки, которую система использует для выравнивания строки.

nYStart – Устанавливает y-координату, в логических координатах, контрольной точки, которую система использует для выравнивания строки.

lpString – Указатель на строку, которую нужно написать. Строка не должна завершаться нуль-терминатором, так как параметр cbString задает длину строки.

cbString – Устанавливает длину строки. Для функции ANSI, это количество BYTE (байтов), а для функции Unicode, это является количеством WORD ( слов ).


В оконной процедуре указывается код, который должен выполняться при получении окном приложения каких-либо сообщений. Наиболее часто используемое имя для оконной процедуры – это имя WndProc.

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

LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

 

Функция возвращает значение типа LRESULT (в действительности это целое число типа long), сообщающее успешно или нет завершена работа функции. Идентификатор CALLBACK сообщает, что это функция обратного вызова (callback function). Это означает, что вызов данной функции осуществляют внутренние механизмы Windows.

В сигнатуре оконной процедуры указано четыре параметра:

§ hwnd — Идентифицирует окно, которому предназначено сообщение.

§ uMsg — Предопределенная константа, идентифицирующая конкретное сообщение. Например, сообщению о выходе из приложения соответствует константа WM_QUIT.

§ wParam — Дополнительная информация о сообщении. Зависит от конкретного сообщения.

§ lParam — Дополнительная информация о сообщении. Зависит от конкретного сообщения.

 


<== предыдущая лекция | следующая лекция ==>
Данные константы могут объединяться с помощью побитовой операции ИЛИ. По совокупности свойств различают перекрывающиеся (overlapped), временные (pop-up) и дочерние (child) окна | Функции перемещения окон
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 333; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.