Как да създадете прозорец на Windows

Съдържание:

Как да създадете прозорец на Windows
Как да създадете прозорец на Windows

Видео: Как да създадете прозорец на Windows

Видео: Как да създадете прозорец на Windows
Видео: Как да Преинсталираме Windows 10 2024, Декември
Anonim

Принципите на функциониране на потребителския интерфейс на операционните системи от семейството на Windows се основават на концепцията за прозорец. Работният плот, лентата на задачите, списъците, диалоговите прозорци, бутоните, менютата са всички прозорци. Следователно, всъщност, за да покажете всеки елемент на интерфейса, трябва да създадете прозорец на Windows.

Как да създадете прозорец на Windows
Как да създадете прозорец на Windows

Необходимо

  • - компилатор;
  • - Windows Platform SDK.

Инструкции

Етап 1

Регистрирайте класа на прозореца, който ще бъде създаден, ако е необходимо. Обадете се на API функциите RegisterClass, RegisterClassEx или използвайте подходящата функционалност на използваната рамка.

Функциите RegisterClass и RegisterClassEx приемат указатели към структури от тип WNDCLASS и WNDCLASSEX, съответно, като единствен параметър. Връщаната стойност от тип ATOM може да се използва вместо името на класа при създаване на прозорец. Ако извикването на функция се провали, върнатата стойност е 0.

Инсталирайте структура от тип WNDCLASS или WNDCLASSEX. Попълнете всички необходими полета. По-специално, правилните стойности трябва да бъдат поставени в:

- cbSize - размер на структурата в байтове;

- стил - набор от стилове за класа на прозореца;

- 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 nWidth, int nHeight, HWND hWndParent, HMENU hMenu, НАСТОЯЩА инстанция, LPVOID lpParam);

Функцията CreateWindow се различава от CreateWindowEx само в отсъствието на параметъра dwExStyle.

Обадете се CreateWindow или CreateWindowEx. Предайте в параметъра lpClassName името или стойността на ATOM на класа на прозореца, който сте дефинирали в първата или втората стъпка. Параметрите x, y, nWidth, nHeight могат да бъдат координатите и размерите на прозореца, който се създава. Манипулаторът на родителския прозорец (ако има такъв) се предава през hWndParent.

Запазете и анализирайте стойността, върната от CreateWindow или CreateWindowEx. При успех те ще върнат манипулатор в новия прозорец; при неуспех NULL.

Препоръчано: