A Windows Ablak Létrehozása

Tartalomjegyzék:

A Windows Ablak Létrehozása
A Windows Ablak Létrehozása

Videó: A Windows Ablak Létrehozása

Videó: A Windows Ablak Létrehozása
Videó: 02. Pygame modul indítása, ablak létrehozása 2024, November
Anonim

A Windows család operációs rendszereinek felhasználói felületének működési elvei az ablak koncepcióján alapulnak. Az asztal, a tálca, a listák, a párbeszédpanelek, a gombok, a menük ablakok. Ezért valójában bármely interfész elem megjelenítéséhez létre kell hoznia egy Windows ablakot.

A Windows ablak létrehozása
A Windows ablak létrehozása

Szükséges

  • - fordító;
  • - Windows Platform SDK.

Utasítás

1. lépés

Szükség esetén regisztrálja a létrehozandó ablak osztályát. Hívjon a RegisterClass, RegisterClassEx API függvényekre, vagy használja a használt keretrendszer megfelelő funkcióit.

A RegisterClass és a RegisterClassEx függvények egyetlen paraméterként elfogadják a WNDCLASS és a WNDCLASSEX típusú struktúrák mutatóit. Az ablak létrehozásakor az ATOM típusú visszatérési érték használható az osztálynév helyett. Ha a függvényhívás sikertelen, a visszatérési érték 0.

Instantáljon egy WNDCLASS vagy WNDCLASSEX típusú struktúrát. Töltse ki az összes szükséges mezőt. Különösen a helyes értékeket kell elhelyezni:

- cbSize - a szerkezet mérete bájtokban;

- stílus - az ablakosztály stíluskészlete;

- lpfnWndProc - mutató egy ablak eljárásra;

- hInstance annak a modulnak a fogantyúja, amelyben az ablakosztály regisztrálva van;

- lpszClassName az osztály szimbolikus neve.

A többi mező NULL értékekkel írható. Hívjon egy függvényhívást az ablakosztály regisztrálásához. Ellenőrizze a visszaküldött eredményt.

2. lépés

Szükség esetén válasszon egy meglévő ablakosztályt. Ismernie kell a szimbolikus osztálynevet (az, amely regisztráláskor áthaladt az lpszClassName mutatón), vagy a megfelelő ATOM értéket. Az osztály lehet helyi az alkalmazás szintjén, globális az alkalmazás szintjén (regisztrálva van a CS_GLOBALCLASS zászlóval), vagy rendszerszintű. Az utolsó típus a Windows osztályait tartalmazza a következő névvel: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Az olyan osztályokat, mint a RichEdit20W vagy a SysListView32, a megfelelő könyvtárak betöltésekor regisztrálják.

3. lépés

Hozzon létre egy Windows ablakot. Használja a CreateWindow, a CreateWindowEx API függvényeket vagy a megfelelő burkoló módszereket a használt keret vagy könyvtár osztályobjektumaihoz. A CreateWindowEx függvény prototípusa így néz ki:

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);

A CreateWindow függvény csak abban különbözik a CreateWindowEx-től, hogy nincs megadva a dwExStyle paraméter.

Hívja a CreateWindow vagy a CreateWindowEx alkalmazást. Adja meg az lpClassName paraméterben annak az ablakosztálynak a nevét vagy az ATOM értékét, amelyet az első vagy a második lépésben definiált. Az x, y, nWidth, nHeight paraméterek lehetnek a létrehozandó ablak koordinátái és méretei. A szülőablak fogantyúja (ha van ilyen) átkerül a hWndParent-en.

Mentse és elemezze a CreateWindow vagy a CreateWindowEx által visszaadott értéket. A siker után visszaadnak egy fogantyút az új ablakba, kudarc esetén NULL.

Ajánlott: