Як створити вікно windows

В основі принципів функціонування призначеного для користувача інтерфейсу операційних систем сімейства Windows лежить концепція вікна. Робочий стіл, панель задач, списки, діалоги, кнопки, меню - все це вікна. Тому, фактично, для того щоб відобразити будь-який елемент інтерфейсу, треба створити вікно windows.
Як створити вікно Windows

Вам знадобиться

  • - компілятор;
  • - Windows Platform SDK.

Інструкція

1


Зареєструйте клас вікна, яке повинно бути створено, якщо це необхідно. Проведіть виклик API-функцій RegisterClass, RegisterClassEx або використовуйте відповідний функціонал застосовуваного фреймворка.

Функції RegisterClass і RegisterClassEx приймають в якості єдиного параметра покажчики на структури типу WNDCLASS і WNDCLASSEX відповідно. Значення, що повертається типу ATOM може використовуватися замість імені класу при створенні вікна. Якщо виклик функції завершиться невдачею, буде повернуто значення 0.

Створіть екземпляр структури типу WNDCLASS або WNDCLASSEX. Заповніть всі необхідні поля. Зокрема, коректні значення повинні бути поміщені в:

- cbSize - розмір структури в байтах;
- style - набір стилів класу вікна;
- lpfnWndProc - покажчик на віконну процедуру;
- hInstance дескриптор модуля, в якому проводиться реєстрація класу вікна;
- lpszClassName - символічне ім`я класу.

В інші поля можуть бути записані значення NULL. Проведіть виклик функції для реєстрації класу вікна. Перевірте повернутий результат.

2



Виберіть існуючий клас вікна, якщо це необхідно. Вам повинно бути відомо символічне ім`я класу (то, яке передається через покажчик lpszClassName при його реєстрації) або відповідне значення типу ATOM. Клас може бути локальним на рівні додатку, глобальним на рівні додатку (реєстрація виконана з прапором CS_GLOBALCLASS) або системним. До останнього типу відносяться класи вікон з іменами: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Такі класи, як RichEdit20W або SysListView32, реєструються при завантаженні відповідних бібліотек.
3
Створіть вікно Windows. Скористайтеся API-функціями CreateWindow, CreateWindowEx або відповідними методами-обгортками об`єктів класів використовуваного фреймворка або бібліотеки. Прототип функції CreateWindowEx виглядає наступним чином:


HWND CreateWindowEx (
DWORD dwExStyle,
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);

Функція CreateWindow відрізняється від CreateWindowEx лише відсутністю параметра dwExStyle.

Здійсніть виклик CreateWindow або CreateWindowEx. Передайте в якості параметра lpClassName ім`я або значення типу ATOM класу вікна, певне на першому або другому кроці. Параметрами x, y, nWidth, nHeight можуть бути координати і розміри створюваного вікна. Дескриптор вікна-батька (якщо така є) передається через hWndParent.

Збережіть і проаналізуйте значення, повернене функціями CreateWindow або CreateWindowEx. При успіху вони повернуть дескриптор нового вікна, при невдачі - NULL.



Увага, тільки СЬОГОДНІ!


Оцініть, будь ласка статтю
Всього голосів: 112
Увага, тільки СЬОГОДНІ!