Jak Stworzyć Okno Windows

Spisu treści:

Jak Stworzyć Okno Windows
Jak Stworzyć Okno Windows

Wideo: Jak Stworzyć Okno Windows

Wideo: Jak Stworzyć Okno Windows
Wideo: Tworzenie okna w Windows [PL] 2024, Listopad
Anonim

Zasady funkcjonowania interfejsu użytkownika systemów operacyjnych z rodziny Windows oparte są na koncepcji okna. Pulpit, pasek zadań, listy, okna dialogowe, przyciski, menu to wszystkie okna. Dlatego w rzeczywistości, aby wyświetlić dowolny element interfejsu, musisz utworzyć okno Windows.

Jak stworzyć okno Windows
Jak stworzyć okno Windows

Niezbędny

  • - kompilator;
  • - Zestaw SDK platformy Windows.

Instrukcje

Krok 1

W razie potrzeby zarejestruj klasę tworzonego okna. Wykonaj wywołanie funkcji API RegisterClass, RegisterClassEx lub skorzystaj z odpowiedniej funkcjonalności użytego frameworka.

Funkcje RegisterClass i RegisterClassEx akceptują wskaźniki do struktur typu odpowiednio WNDCLASS i WNDCLASSEX jako jedyny parametr. Wartość zwracana typu ATOM może być użyta zamiast nazwy klasy podczas tworzenia okna. Jeśli wywołanie funkcji nie powiedzie się, zwracana wartość wynosi 0.

Utwórz wystąpienie struktury typu WNDCLASS lub WNDCLASSEX. Wypełnij wszystkie niezbędne pola. W szczególności prawidłowe wartości muszą być umieszczone w:

- cbSize - rozmiar struktury w bajtach;

- style - zestaw stylów dla klasy okna;

- lpfnWndProc – wskaźnik do procedury okna;

- hInstance to uchwyt modułu, w którym zarejestrowana jest klasa okna;

- lpszClassName to symboliczna nazwa klasy.

Pozostałe pola można zapisać wartościami NULL. Wykonaj wywołanie funkcji, aby zarejestrować klasę okna. Sprawdź zwrócony wynik.

Krok 2

W razie potrzeby wybierz istniejącą klasę okna. Musisz znać symboliczną nazwę klasy (przekazywaną przez wskaźnik lpszClassName podczas jej rejestrowania) lub odpowiadającą jej wartość ATOM. Klasa może być lokalna na poziomie aplikacji, globalna na poziomie aplikacji (zarejestrowana z flagą CS_GLOBALCLASS) lub klasą systemową. Ostatni typ zawiera klasy okien o nazwach: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Klasy takie jak RichEdit20W lub SysListView32 są rejestrowane podczas ładowania odpowiednich bibliotek.

Krok 3

Utwórz okno Windows. Użyj funkcji API CreateWindow, CreateWindowEx lub odpowiednich metod opakowujących dla obiektów klas frameworka lub biblioteki, której używasz. Prototyp funkcji CreateWindowEx wygląda tak:

HWND Utwórz oknoEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpNazwaOkna, DWORD dwStyle, wew x, int y, int nSzerokość, int nWysokość, HWND hWnd Rodzic, HMENU hMenu, WSKAZÓWKA instancja, LPVOID lpParam);

Funkcja CreateWindow różni się od CreateWindowEx tylko w przypadku braku parametru dwExStyle.

Wywołaj CreateWindow lub CreateWindowEx. Przekaż parametrowi lpClassName nazwę lub wartość ATOM klasy okna, która została zdefiniowana w pierwszym lub drugim kroku. Parametry x, y, nWidth, nHeight mogą być współrzędnymi i rozmiarami tworzonego okna. Uchwyt okna nadrzędnego (jeśli istnieje) jest przekazywany przez hWndParent.

Zapisz i przeanalizuj wartość zwróconą przez CreateWindow lub CreateWindowEx. W przypadku powodzenia zwracają uchwyt do nowego okna, w przypadku niepowodzenia, NULL.

Zalecana: