Kako Stvoriti Windows Prozor

Sadržaj:

Kako Stvoriti Windows Prozor
Kako Stvoriti Windows Prozor

Video: Kako Stvoriti Windows Prozor

Video: Kako Stvoriti Windows Prozor
Video: Prelazim u Stolare 🤪 *kako napraviti prozor* 2024, Novembar
Anonim

Principi funkcionisanja korisničkog interfejsa operativnih sistema porodice Windows zasnivaju se na konceptu prozora. Radna površina, traka zadataka, liste, dijalozi, gumbi i izbornici su svi prozori. Stoga, u stvari, da biste prikazali bilo koji element sučelja, morate stvoriti Windows prozor.

Kako stvoriti Windows prozor
Kako stvoriti Windows prozor

Potrebno

  • - kompajler;
  • - SDK za Windows platformu.

Instrukcije

Korak 1

Registrirajte klasu prozora koji će se kreirati, ako je potrebno. Pozovite API funkcije RegisterClass, RegisterClassEx ili upotrijebite odgovarajuću funkcionalnost korištenog okvira.

Funkcije RegisterClass i RegisterClassEx prihvaćaju pokazivače na strukture tipa WNDCLASS i WNDCLASSEX kao jedini parametar. Povratna vrijednost tipa ATOM može se koristiti umjesto imena klase prilikom kreiranja prozora. Ako poziv funkcije ne uspije, povratna vrijednost je 0.

Instancirajte strukturu tipa WNDCLASS ili WNDCLASSEX. Popunite sva potrebna polja. Tačne vrijednosti moraju se posebno staviti u:

- cbSize - veličina strukture u bajtovima;

- style - skup stilova za klasu prozora;

- lpfnWndProc - pokazivač na proceduru prozora;

- hInstance je ručica modula u kojem je registrovana klasa prozora;

- lpszClassName je simbolično ime klase.

Ostala polja se mogu zapisati s NULL vrijednostima. Pozovite funkciju za registraciju klase prozora. Provjerite vraćeni rezultat.

Korak 2

Ako je potrebno, odaberite postojeću klasu prozora. Morate znati simbolično ime klase (ono koje je prošlo kroz pokazivač lpszClassName prilikom registracije) ili odgovarajuću ATOM vrijednost. Klasa može biti lokalna na razini aplikacije, globalna na razini aplikacije (registrirana s zastavicom CS_GLOBALCLASS) ili sistemska klasa. Posljednji tip uključuje klase prozora s imenima: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Klase poput RichEdit20W ili SysListView32 registriraju se kada se učitaju odgovarajuće knjižnice.

Korak 3

Kreirajte Windows prozor. Koristite API funkcije CreateWindow, CreateWindowEx ili odgovarajuće metode omota za objekte klase okvira ili biblioteke koje koristite. Prototip funkcije CreateWindowEx izgleda ovako:

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

Funkcija CreateWindow razlikuje se od CreateWindowEx samo u nedostatku parametra dwExStyle.

Pozovite CreateWindow ili CreateWindowEx. Proslijedite u parametar lpClassName ime ili ATOM vrijednost klase prozora koju ste definirali u prvom ili drugom koraku. Parametri x, y, nWidth, nHeight mogu biti koordinate i veličine prozora koji se kreira. Ručka nadređenog prozora (ako postoji) prolazi se kroz hWndParent.

Spremite i raščlanite vrijednost koju su vratili CreateWindow ili CreateWindowEx. Nakon uspjeha, vratit će kvaku u novi prozor, a u slučaju neuspjeha, NULL.

Preporučuje se: