Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Основні типи віконних повідомлень




Віконна процедура

Основним отримувачем повідомлень є спеціальна віконна процедура, якій йдуть з черги повідомлень програми (точніше – з потоку програми). У цій процедурі повідомлення обробляються індивідуально:

 

LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch (message) {

case WM_DESTROY:

PostQuitMessage(0);

brea k;

default:

return DefWindowProc(hWnd, message, wParam, lParam);

}

return 0;

}

Ця функція явно обробляє тільки одне повідомлення WM_DESTROY, а решта передається віконній процедурі за замовчуванням DefWindowProc(). Вона обробляє усі повідомлення, що асоціюються з певним вікном.

Функція PostQuitMessage() – це найпростіший обробник повідомлень, що застосовуються при написанні програм. Обробник повідомлень – це функція, що відповідає тільки за обробку одного-єдиного повідомлення.

 

На даний час ОС Windows налічує більше ніж 900 стандартних повідомлень, але більшість з них використовуються досить рідко. Наприклад, одні характерні тільки для певного типу вікна, інші відіграють особливу роль при використанні певного типу інтерфейсу (SDI чи MDI). Треті проходять через цикл повідомлень, але ніколи не використовуються (внутрішні повідомлення Windows створені для її власної мети).

Всі імена повідомлень, що використовується при створення інтерфейсу користувача, визначені в файлі заголовків WINUSER.H наступним чином:

 

#define WM_COMMAND 0x0111

 

або

 

#define WM_PAINT 0x000F

 

Префікс WM_ вказує, що це “віконне повідомлення” (Windows Message). Ці символічні імена визначають числа, що служать ідентифікаторами повідомлень. Інші префікси вказують на відношення повідомлення до певного виду вікна (елементу керування), наприклад: EM_ (Edit Message) – елементу керування EDIT; BM_ (Button Message) – елементу керування BUTTON; та інше.

Окрім стандартних повідомлень в ОС передбачена можливість створення власних повідомлень розробником прикладного програмного забезпечення.

 


 

Лекція № 3: Бібліотека базових класів Microsoft (MFC)

 

План

1. Огляд бібліотеки базових класів Microsoft.

2. Ієрархія класів MFC.

3. Основні архітектури програм на основі MFC.

4. Макровизначення, глобальні функції та змінні.

 




Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 393; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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