Presentation is loading. Please wait.

Presentation is loading. Please wait.

Langų kūrimas.

Similar presentations


Presentation on theme: "Langų kūrimas."— Presentation transcript:

1 Langų kūrimas

2 WNDCLASS Norint užregistruoti lango klasę, reikia užpildyti WNDCLASS struktūros laukus ir perduoti ją sistemai. Prieš tai nepamirštame apsibrėžti klasės kaip globalaus kintamojo:

3 WNDCLASS struktūra

4 Valdikliai HICON hIcon – programos piktograma
HCURSOR hCursor – pelės identifikatorius HBRUSH hbrBackground – teptuko (spalvos) identifikatorius. Pastaba. Dėl programinės įrangos subtilybių, reikia pridėti 1 prie teptuko reikšmės.

5 Spalvos COLOR_ACTIVEBORDER COLOR_HIGHLIGHTTEXT COLOR_ACTIVECAPTION
COLOR_INACTIVEBORDER COLOR_APPWORKSPACE COLOR_INACTIVECAPTION COLOR_BACKGROUND COLOR_MENU COLOR_BTNFACE COLOR_MENUTEXT COLOR_BTNSHADOW COLOR_SCROLLBAR COLOR_BTNTEXT COLOR_WINDOW COLOR_CAPTIONTEXT COLOR_WINDOWFRAME COLOR_GRAYTEXT COLOR_WINDOWTEXT COLOR_HIGHLIGHT

6 Papildomi laukai cbClsExtra – nurodo, kiek papildomų baitų išskirti klasei (galima nurodyti 0). cbWndExtra – nurodo, kiek papildomų baitų skirti lango egzemplioriui (galima nurodyti 0).

7 Lango laukai style – aibė nuorodų (bitflag), apibrėžiančių sistemos darbą su langu. Galima naudoti “|” sujungiant kelias nuorodas. lpfnWndProc – rodyklė į WNDPROC funkciją, kuri kontroliuos langą ir valdys lango pranešimus.

8 Registravimas Po struktūros inicializacijos reikia klasę užregistruoti sistemoje. Tą galime padaryti perduodami WNDCLASS struktūros rodyklę funkcijai RegisterClass. Jei ši funkcija grąžino “0”, registracija nepavyko.

9 Kuriant langus Langai dažniausiai kuriami pasinaudojant funkcija “CreateWindow”, nors egzistuoja dar kelios naudingos funkcijos. Taigi, užregistravus WNDCLASS, galime nurodyti sistemai sukurti langą iš šios klasės.

10

11 Pavyzdys

12

13

14

15

16

17 -EX nariai Kadangi su kiekviena nauja Windows versija atsiranda kažkas naujo, todėl kartais senų funkcijų nebeužtenka. Daugiau funkcionalumo galima pasiekti naudojant WNDCLASSEX struktūrą ir jai užregistruoti – RegisterClassEx funkciją. Taip pat egzistuoja ir funkcija CreateWindowEx su išplėstu funkcionalumu.

18 Dialogo langai Nors dialogo langą galima sukurti naudojant WNDCLASS struktūrą ir CreateWindow funkciją, bet tam tikslui yra naudojamos funkcijos CreateDialog, DialogBox ar DialogBoxParam, nes dialogo langai iš esmės kuriami ir valdomi kitaip nei kiti langai.

19 Numatytosios langų klasės
BUTTON – apima visus galimus mygtukų tipus SCROLLBAR – langų slydimo kontrolė MDICLIENT – daugybinė dokumentų sąsaja (multiple document interface) STATIC – tekstinis langas, gali būti naudojamas kaip nuoroda LISTBOX, COMBOBOX – pasirenkamieji sąrašai EDIT, RichEdit – teksto įvedimas

20 Meniu Egzistuoja keletas meniu rūšių. Dažniausiai naudojamas išskleidžiamasis meniu. Taip pat daugelis programų leidžia naudotis kontekstiniu meniu paspaudus dešinį pelės mygtuką

21 Prisimenant išteklių scenarijus...

22 Patarimai Galime apsibrėžti identifikatorius kaip skaičius: Tuomet, kursime identifikatorių taip:

23 Įkeliant meniu Prisimenant WNDCLASS struktūrą, ten yra kintamasis lpszMenuName: Tuomet belieka sukurti HMENU valdiklį ir perduoti jį funkcijai CreateWindow


Download ppt "Langų kūrimas."

Similar presentations


Ads by Google