1 / 16

Windows API

Windows API. Lang ų kurimas. Langų kurimas. Langas – tai viena iš pagrindinių sąsajų tarp žmogaus ir programos, naudojamas valdyti programą.

foster
Download Presentation

Windows API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows API Langų kurimas Dariuš Suboč

  2. Langų kurimas • Langas – tai viena iš pagrindinių sąsajų tarp žmogaus ir programos, naudojamas valdyti programą. • Kiekvienas langas turi rėmelį ir antraštę. Rėmelis reikalingas tam, kad apibrėžti darbinį plotą ir galimybe keisti lango dydį. Antraštejė yra užrašytas programos pavadinimas ir lango manipuliavimo mygtukai: minimize, maximize ir close mygtukus.

  3. Langų kurimas • Apsibrėžti lango strukturą • Užregistruoti langą • Sukurti langą

  4. Lango struktura • WNDCLASS struktura Prieš pradedant pildyti strukturą nepamirštame apsibrėžti klasės kaip globalaus kintamojo:

  5. WNDCLASS parametrai • style – lango stilius išanksto apibrežtas keliomis konstatntomis, reikšme pagal nutilejima nuliui (defaultinis stilius) • lpfnWndProc – rodikle į lango proccedurą • cbClsExtra – apibrežia papildomą kiekį baitų rezervuojamu klases strukturai • cbWndExtra – apibrežia papildomą kiekį baitų rezervuojamu lango strukturai • hInstance – deskriptoriaus ekzempliorius, kuris turi lango procedurą klasei

  6. WNDCLASS parametrai • hIcon – ikoneles deskriptorius. Jeigu reikšme yra NULL , sistema naudoja defaultine reikšmę. • hCursor – kursoriaus deskriptorius. • hbrBackground – fono teptuko deskriptorius. Gali būti teptuko deskriptorius arba spalvos reikšme naudojama fonui. • lpszMenuName – rodikle į meniu. Jeigu reikšme NULL langas neturi meniu. • lpszClassname – rodykle vardo katik sukurtos lango klases. Maksimalus ilgis lpszClassName 256

  7. Lango registravimas • Klases registraciją realizuoja funkcija RegisterClass, jeigu funkcija gražina nuli, registracija nepavyko. Parametruose naudojama rodykle į ankščiau sukurta struktura WNDCLASS

  8. Lango sukurimas • Už lango sukurimą yra atsakinga funkcija CreateWindow : Jeigu langas buvo sukurtas sekmingai gražinamas lango sukurimo deskriptorius, įvykus klaidai gražinamas NULL

  9. CreateWindow parametrai • lpClassName – rodykle į lango klases vardą • lpWindowName – rodykle į lango vardą. Naudojamas kuriant valdymo elementus, tuo atvėju lpWindowName nuruodomas elemento identifikatorius • dwStyle – apibrėžia lango stilių, gali būti langų stilių kombinaciją • X – pirmine horizontali lango padėtis • Y – pirmine vertikali lango padėtis

  10. CreateWindow parametrai • nWidth – apibrėžia lango plotį pikseliais • nHeight – apibrėžia lango aukštį pikseliais • hWndParent – tevinio lango deskriptorius • hMenu – meniu deskriptorius • hInstance – lango handle • lpParam – parametru perdavimas

  11. Tam, kad korektiškai atvaizduoti langą reikia įvygdyti dar dvi funkcijas ShowWindow ir UpdateWindow : ShowWindow funkcija parodo langa ekrane. Pirmas parametras – lango deskriptorius Antras parametras – atvaizdavimo režimas

  12. Pranešimų ciklas • Tam, kad galėtume komunikuoti su langų reikia užkurti pranešimų ciklą Funkcija TranslateMessage išverčia pranešimą į WM_KEYDOWN į WM_KEYUP ir WM_CHAR Funkcija DispatchMessage perduoda pranešimą lango procedurai

  13. Lango procedura • Lango procedura – tai dar vienas komponentas atsakingas už lango pranešimų apdorojimą. Funkcija yra kviečiama sistemos ir turi keturis parametrus sutampančius su MSG struktura. hWnd – lango deskriptorius message – pranešimo kodas wParam – papildomas parametras lParam – papildomas parametras

  14. -EX nariai • Windows operacine sistema visa laika atsinaujino is laikui begant pradėjo neužtėkti turimu funkcijų. Todel buvo sukurtos funkcijų prapletimai, WNDCLASSEX, RegisterClassEX, CreateWindowEx su papildomu funkcionalumu.

  15. 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.

  16. Klausimai?

More Related