Hvordan Lage Et Windows-vindu

Innholdsfortegnelse:

Hvordan Lage Et Windows-vindu
Hvordan Lage Et Windows-vindu

Video: Hvordan Lage Et Windows-vindu

Video: Hvordan Lage Et Windows-vindu
Video: Как установить виниловое окно на холст 2024, November
Anonim

Prinsippene for bruk av brukergrensesnittet til operativsystemene i Windows-familien er basert på konseptet med et vindu. Skrivebordet, oppgavelinjen, lister, dialoger, knapper, menyer er alle vinduer. Derfor, for å vise et hvilket som helst grensesnittelement, må du faktisk opprette et vindu.

Hvordan lage et Windows-vindu
Hvordan lage et Windows-vindu

Nødvendig

  • - kompilator;
  • - Windows Platform SDK.

Bruksanvisning

Trinn 1

Registrer klassen til vinduet som skal opprettes, om nødvendig. Ring til API-funksjonene RegisterClass, RegisterClassEx eller bruk riktig funksjonalitet i rammeverket som brukes.

RegisterClass og RegisterClassEx-funksjonene godtar pekere til strukturer av henholdsvis WNDCLASS og WNDCLASSEX, som den eneste parameteren. Returverdien av typen ATOM kan brukes i stedet for klassenavnet når du oppretter et vindu. Hvis funksjonsanropet mislykkes, er returverdien 0.

Instanter en struktur av typen WNDCLASS eller WNDCLASSEX. Fyll ut alle nødvendige felt. Spesielt må de riktige verdiene plasseres i:

- cbSize - strukturstørrelse i byte;

- stil - et sett med stiler for vindusklassen;

- lpfnWndProc - peker til en vindusprosedyre;

- hInstance er håndtaket til modulen der vindusklassen er registrert;

- lpszClassName er det symbolske navnet på klassen.

Resten av feltene kan skrives med NULL-verdier. Foreta et funksjonsanrop for å registrere vindusklassen. Sjekk det returnerte resultatet.

Steg 2

Velg en eksisterende vindusklasse om nødvendig. Du må kjenne det symbolske klassenavnet (det som sendes gjennom lpszClassName-pekeren når du registrerer det) eller den tilsvarende ATOM-verdien. Klassen kan være lokal på applikasjonsnivå, global på applikasjonsnivå (registrert med CS_GLOBALCLASS-flagget) eller systemklasse. Den siste typen inkluderer klasser av vinduer med navnene: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Klasser som RichEdit20W eller SysListView32 blir registrert når de tilsvarende bibliotekene er lastet inn.

Trinn 3

Opprett et Windows-vindu. Bruk API-funksjonene CreateWindow, CreateWindowEx eller de riktige innpakningsmetodene for klasseobjekter i rammeverket eller biblioteket du bruker. Prototypen for CreateWindowEx-funksjonen ser slik ut:

HWND CreateWindowEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nBredde, int nHøyde, HWND hWndParent, HMENU hMeny, HINSTANCE hInstance, LPVOID lpParam);

CreateWindow-funksjonen skiller seg bare fra CreateWindowEx i fravær av dwExStyle-parameteren.

Ring CreateWindow eller CreateWindowEx. Send i parameteren lpClassName navnet eller ATOM-verdien til vindusklassen du definerte i første eller andre trinn. Parametrene x, y, nBredde, nHøyde kan være koordinatene og størrelsene på vinduet som opprettes. Hovedvinduhåndtaket (hvis noen) føres gjennom hWndParent.

Lagre og analyser verdien som er returnert av CreateWindow eller CreateWindowEx. Etter suksess vil de returnere et håndtak til det nye vinduet; ved feil, NULL.

Anbefalt: