Parimet e funksionimit të ndërfaqes së përdoruesit të sistemeve operative të familjes Windows bazohen në konceptin e një dritareje. Desktopi, shiriti i detyrave, listat, dialogët, butonat, menutë janë të gjitha dritare. Prandaj, në fakt, për të shfaqur ndonjë element të ndërfaqes, duhet të krijoni një dritare të windows.
E nevojshme
- - përpiluesi;
- - Windows Platform SDK.
Udhëzimet
Hapi 1
Regjistroni klasën e dritares që do të krijohet, nëse është e nevojshme. Bëni një telefonatë në funksionet e API RegisterClass, RegisterClassEx ose përdorni funksionalitetin e duhur të kornizës së përdorur.
Funksionet RegisterClass dhe RegisterClassEx pranojnë tregues të strukturave të tipit WNDCLASS dhe WNDCLASSEX, përkatësisht, si parametrin e tyre të vetëm. Vlera kthyese e tipit ATOM mund të përdoret në vend të emrit të klasës kur krijoni një dritare. Nëse thirrja e funksionit dështon, vlera e kthimit është 0.
Instantizoni një strukturë të tipit WNDCLASS ose WNDCLASSEX. Plotësoni të gjitha fushat e nevojshme. Në veçanti, vlerat e sakta duhet të vendosen në:
- cbSize - madhësia e strukturës në bajte;
- stil - një grup stilesh për klasën e dritares;
- lpfnWndProc - treguesi për një procedurë të dritares;
- hInstance është doreza e modulit në të cilin është regjistruar klasa e dritares;
- lpszClassName është emri simbolik i klasës.
Fushat e tjera mund të shkruhen me vlera NULL. Bëni një thirrje funksioni për të regjistruar klasën e dritares. Kontrolloni rezultatin e kthyer.
Hapi 2
Zgjidhni një klasë ekzistuese të dritares nëse është e nevojshme. Duhet të dini emrin e klasës simbolike (atë që kalon përmes treguesit lpszClassName kur e regjistroni) ose vlerën përkatëse të ATOM-it. Klasa mund të jetë lokale në nivelin e aplikimit, globale në nivelin e aplikimit (e regjistruar me flamurin CS_GLOBALCLASS), ose klasa e sistemit. Lloji i fundit përfshin klasa të dritareve me emrat: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Klasat si RichEdit20W ose SysListView32 regjistrohen kur ngarkohen bibliotekat përkatëse.
Hapi 3
Krijoni një dritare Windows. Përdorni funksionet API CreateWindow, CreateWindowEx, ose metodat e përshtatshme mbështjellëse për objektet e klasës të kornizës ose bibliotekës që po përdorni. Prototipi për funksionin CreateWindowEx duket kështu:
HWND KrijoWindowEx (DWORD dwExStyle, Emri LPCTSTR lpClass, Emri LPCTSTR lpWindow, DWORD stiStyle, int x, int y, gjerësia int
int lartësia, HWND hWndParent, HMENU hMenu, HINSTANCE hIstance, LPVOID lpParam);
Funksioni CreateWindow ndryshon nga CreateWindowEx vetëm në mungesë të parametrit dwExStyle.
Thirrni CreateWindow ose CreateWindowEx. Kaloni në parametrin lpClassName emrin ose vlerën ATOM të klasës së dritares që keni përcaktuar në hapin e parë ose të dytë. Parametrat x, y, nWidth, nHeight mund të jenë koordinatat dhe madhësitë e dritares që krijohet. Doreza e dritares prind (nëse ka) kalohet përmes hWndParent.
Ruani dhe analizoni vlerën e kthyer nga CreateWindow ose CreateWindowEx. Për suksesin, ata do të kthejnë një dorezë në dritaren e re; për dështimin, NULL.