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

2.2 Створення|створіння| вікон

Для створення|створіння| вікна викликають|спричиняють| функцію CreateWindow|. Вона створює вікно, що перекривається|перекриває|, тимчасове або дочірнє, і встановлює початкове значення| деяких його параметрів.

Призначення аргументів виклику цієї функції:

- lpClassName| вказує|вказує| на зареєстрований функцією RegisterClass| або визначеного операційною системою класу.

- dwStyle| задає стиль вікна. Стиль вікон окремо розглянемо |розглядатиме| нижче.

x — координата лівого краю вікна в пікселях. Для |тимчасових вікон x відлічують від лівого краю екрану |робочої зони батьківського вікна. Якщо для перекриваючого| вікна із|із| стилем WSJVISIBLE| як x задати константу| CW_USEDEFAULT|, Windows| встановлює не обов’язково| нульову позицію за умовчанням для лівого верхнього кута|кутка| вікна і| ігнорує координату біля|в| верхнього краю вікна. Для тимчасового| дочірнього вікна така позиція за умовчанням рівна (0, 0).

- nWidth| - ширина вікна в пікселях. Для вікон мож­на|, що перекриваються|перекривають|, задати рівною CW_USEDEFAULT|. В цьому випадку система встановлює| ненульові значення ширини і висоти за умовчанням і ігнорує| задану висоту nHeight| вікна. Ширина і висота тимчасового| і дочірнього вікна за умовчанням дорівнюють нулю|нуль-індикатору|.

- hWndParent| може вказувати|вказувати| тільки|лише| на ініційоване вікно. Де­скриптор вікна-батька обов'язково вказують|вказують| при створенні|створінні| до­чірнього| вікна. Дескриптор вікна-власника для тимчасового вікна вказувати| необов'язково.

- hMenu| - дескриптор меню або ідентифікатор створюваного дочір­нього| вікна.

Меню вікна, що перекривається|перекриває| або тимчасового, можна задати трьома способами:

1) у класі вікон вказують|вказують| ім'я меню, і всі вікна цього класу мо­жуть| користуватися цим меню;

2) ім'я меню вказують|вказують| як аргумент функції CreateWindow|, і потрібне| вікно користуватиметься цим меню, ігноруючи ме­ню| класу;

30 меню створюють в процесі або після|потім| створення|створіння| вікна.

У першому і третьому випадках аргумент hMenu| рівний NULL|.

Якщо створюється дочірнє вікно, то аргументом hMenu| задають Ідентифікатор| цього вікна (цілочисельну константу).

Перед створенням|створінням| вікна функція CreateWindow| посилає код повідомлення|сполучення| WM_CREATE| функції створюваного вікна. Вона потім обробляє повернуте| функцією вікна значення і створює вікно, якщо це значення дорівнює 0, або не створює вікна, якщо значення рівне -1. Відповідно функція Create|Window| повертає дескриптор створеного вікна або NULL|.

2.3 Головна|чільна| функція додатка |застосування|

Додатки|застосування| завжди описують функцію з|із| ім'ям WinMain|. Вона отримує|одержує| управління при запуску додатка|застосування|, виконує властиві звичайним|звичним| функціям дії, реєструє класи вікон, створює вікна, опитує чергу повідомлень|сполучень| і розподіляє свої повідомлення|сполучення|.

Приклад|зразок| опису функції WinMain|: int| WINAPI| WinMain|( HINSTANCE| hlnstance|

HINSTANCE| hPrevlnstance|, LPSTR| lpszCmdLine|, int| nCmdShow|) { MSG| msg|; HWND| hwnd|;

if| (!RegClass(WndProc|, szClassName|)) return| FALSE|; hwnd| = CreateWindow|(szClassName|, "Приклад|зразок| Г

WS_OVERLAPPEDWINDOW|

CW_USEDEFAULT|, CW| USEDEFAULT|

CW_USEDEFAULT|, CW_USEDEFAULT|

0, 0, hlnstance,NULL|); if| (!hwnd) return| FALSE|; ShowWindow|( hwnd|, SW_SHOWMAXIMIZED|); UpdateWindow|(hwnd|); while| (GetMessage|(&msg|, 0,0,0)) { TranslateMessage|(&msg|); DispatchMessage|(&msg|); } return| msg|.wParam;

}

Ім'я, тип повернення і список формальних параметрів функції опреділеними |вимогами Windows| API|. Модифікатор WINAPI| вказує|вказує| на те, що функція при отриманні|здобутті| аргументів сама повинна виправити| порядок|лад| розташування аргументів в стеку.

Параметр hInstance| від операційної системи отримує|одержує| дескриптор поточного екземпляра|примірника| додатка|застосування|. Параметр hPrevlnstance| в 16-разряд­них| застосуваннях вказує|вказує| на активний попередній екземпляр|примірник| додатка| або NULL|. У додатках|застосуваннях| Win32| він завжди рівний NULL| і по ньому неможливо дізнатися про існування інших активних екземплярів|примірників| цього застосування. Параметр lpszCmdLine| вказує|вказує| на рядок з|із| аргу­ментами| командного рядка запуску додатка|застосування|. При звичайному|звичному| запуску цей параметр рівний NULL|. Параметр nCmdShow| передає додатку|застосуванню| спосіб початкового відображення вікна.

У тілі функції WinMain| описані змінні msg| і hwnd|. Змінна msg| призначена для тимчасового зберігання повідомлень|сполучень| при їх отриманні|здобутті| і розподілі. Змінна hwnd| зберігає дескриптор створеного вікна.

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