Com Es Crea Una Finestra De Windows

Taula de continguts:

Com Es Crea Una Finestra De Windows
Com Es Crea Una Finestra De Windows

Vídeo: Com Es Crea Una Finestra De Windows

Vídeo: Com Es Crea Una Finestra De Windows
Vídeo: Los 5 mejores programas de Windows 10 útiles preinstalados 2024, Maig
Anonim

Els principis de funcionament de la interfície d'usuari dels sistemes operatius de la família Windows es basen en el concepte d'una finestra. Totes les finestres són l’escriptori, la barra de tasques, les llistes, els diàlegs, els botons i els menús. Per tant, de fet, per mostrar qualsevol element d'interfície, heu de crear una finestra de Windows.

Com es crea una finestra de Windows
Com es crea una finestra de Windows

Necessari

  • - compilador;
  • - SDK de la plataforma Windows.

Instruccions

Pas 1

Registre la classe de la finestra que es crearà, si cal. Feu una trucada a les funcions de l'API RegisterClass, RegisterClassEx o utilitzeu la funcionalitat adequada del framework utilitzat.

Les funcions RegisterClass i RegisterClassEx accepten punteres a estructures de tipus WNDCLASS i WNDCLASSEX, respectivament, com a únic paràmetre. El valor de retorn del tipus ATOM es pot utilitzar en lloc del nom de la classe quan es crea una finestra. Si la trucada de funció falla, el valor de retorn és 0.

Instancia una estructura del tipus WNDCLASS o WNDCLASSEX. Empleneu tots els camps necessaris. En particular, s’han de col·locar els valors correctes a:

- cbSize: mida de l’estructura en bytes;

- style: un conjunt d'estils per a la classe de finestra;

- lpfnWndProc - punter a un procediment de finestra;

- hInstance és el controlador del mòdul en què està registrada la classe de finestra;

- lpszClassName és el nom simbòlic de la classe.

La resta de camps es poden escriure amb valors NULS. Feu una trucada de funció per registrar la classe de finestra. Comproveu el resultat retornat.

Pas 2

Seleccioneu una classe de finestra existent si cal. Heu de conèixer el nom de la classe simbòlica (el que va passar pel punter lpszClassName en registrar-lo) o el valor ATOM corresponent. La classe pot ser local a nivell d'aplicació, global a nivell d'aplicació (registrada amb el senyal CS_GLOBALCLASS) o classe de sistema. L’últim tipus inclou classes de finestres amb els noms: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Classes com RichEdit20W o SysListView32 es registren quan es carreguen les biblioteques corresponents.

Pas 3

Creeu una finestra de Windows. Utilitzeu les funcions de l'API CreateWindow, CreateWindowEx o els mètodes d'embolcall adequats per als objectes de classe del framework o biblioteca que esteu utilitzant. El prototip de la funció CreateWindowEx té aquest aspecte:

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

La funció CreateWindow es diferencia de CreateWindowEx només en absència del paràmetre dwExStyle.

Truqueu a CreateWindow o CreateWindowEx. Passeu al paràmetre lpClassName el nom o el valor ATOM de la classe de finestra que heu definit al primer o segon pas. Els paràmetres x, y, nWidth, nHeight poden ser les coordenades i mides de la finestra que s'està creant. El controlador de la finestra pare (si n'hi ha) es passa per hWndParent.

Deseu i analitzeu el valor retornat per CreateWindow o CreateWindowEx. En cas d’èxit, retornaran un controlador a la nova finestra; en cas d’error, NULL.

Recomanat: