A C++ programozás Windows környezetben

Slides:



Advertisements
Hasonló előadás
Perifériák Készítette: Friss István Dávid. A perifériák csoportosítása Bemeneti (Input) eszközök Kimeneti (Output) eszközök Be-és kimeneti (I/O) eszközök.
Advertisements

LA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 28./0. lOpenPictureDialog és SavePictureDialog.
CÉLCÉLCSOPORT  Egészségügyi szakmai tájékoztatás és betegtájékoztatás, az egészséges életvitelhez szükséges információk szolgáltatása, publikálása, áttekint-
Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
A szaktanácsadás szolgáltatási terület dokumentációja Némethné Józsa Ágnes Intézményfejlesztési referens.
Word - elmélet
Gazdasági jog IV. Előadás Egyes társasági formák Közkeresleti társaság, betéti társaság.
Internet tudományos használata
Ez az előadás alcíme vagy a tárgy neve vagy a konferencia neve
Fájlkezelés.
Munkalapok védelme az Excelben
A szerkezetátalakítási programban bekövetkezett változások
Operációs rendszerek.
Térkép készítése adataiból
A kérdőívek, a kérdőívszerkesztés szabályai
Adatbázis normalizálás
A C++ programozás Windows környezetben
A színkezelés alapjai a GIMP programban
Montázs készítése.
376/2014 EU RENDELET BEVEZETÉSÉNEK
A közigazgatással foglalkozó tudományok
Prezi Készítette: Zsoldos Norbert Felkészítő tanár: Sarnyai Zoltán
Programozás III. Gyakorlás.
A KINOVEA mozgáselemző rendszer használata
Észlelés és egyéni döntéshozatal, tanulás
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
Visual Studio Code Metrics
Munka és Energia Műszaki fizika alapjai Dr. Giczi Ferenc
Nyelvek típusossága.
Adatbázis-kezelés (PL/SQL)
KATRIN 2D DWG SZIMBÓLUMOK ÉS GDL KÖNYVTÁR
Ez a címdia 1. szövegdoboza
Közigazgatási alapvizsga a Probono rendszerben
Alapvető tudnivalók Írásjelek mindig előtte lévő szóhoz tapadjanak
Teljes visszalépéses elemzés
CONTROLLING ÉS TELJESÍTMÉNYMENEDZSMENT DEBRECENI EGYETEM
IDŐZÍTÉS PROGRAMOZÁSA
3. A robot képernyőmenüje
Monitor(LCD).
Informatikai gyakorlatok 11. évfolyam
A C++ programozás Windows környezetben
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 4. Gy: Java GUI IT A N Tipper, MVC kalkulátor
Online jegyzőkönyv kitöltési segédlet
A C++ programozás Windows környezetben Képek, rajzok alkalmazása
A minőségellenőrzést támogató program bemutatása, Kérdőívek értékelése
Northwind Traders Kik vagyunk?
Szabványok, normák, ami az ÉMI minősítési rendszerei mögött van
43.óra Amikre fontos odafigyelni!
A Microsoft SharePoint testreszabása Online webhely
2. A KVANTUMMECHANIKA AXIÓMÁI
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
Ez az előadás alcíme vagy a tárgy neve vagy a konferencia neve
További rendező és kereső algoritmusok
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
Erasmus+ hallgatói mobilitásra jelentkezéshez
SQL jogosultság-kezelés
Tájékoztató az EPER pályázati folyamatáról
Áramlástan mérés beszámoló előadás
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatika Oktató: Katona Péter.
Access alapok Táblák, kapcsolatok, űrlapok.
Erasmus+ hallgatói mobilitásra jelentkezéshez
A POWERPOINT 2007 újdonságai
Algoritmusok.
Hagyományos megjelenítés
Munkaszámos munkaidő nyilvántartás
OpenBoard Kezelő Tananyag közzététele a KRÉTA rendszerben.
Az operációs rendszer definíciója
FORMOK, ABLAKOK.
Előadás másolata:

A C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./0. A C++ programozás Windows környezetben Vizuális komponensek, erőforrások használata Vizuális komponensek közös jellemzői Vizuális komponensek közös metódusai Vizuális komponensek közös eseménykezelő függvényei A form-ok fontosabb jellemzői Csak programból használható jellemzők Form-ok főbb specifikus metódusai Főbb események egy form életében

Vizuális komponensek közös jellemzői Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./1. Vizuális komponensek közös jellemzői A vizuális komponenseket használjuk programunk felhasználói felületének megépítésére. A komponenseket a form-komponenseken, ritkábban azon belül egymáson helyezzük el. A komponensek jellemzőit (properties) beállíthatjuk tervezési időben az Object Inspector-ral, vagy futásidőben a programban értéket adva nekik. Ez utóbbi módszer alkalmazható olyan adattagokra is, amelyek nem jelennek meg az objektum Properties lapján az Object Inspector-ban. Az objektumon akciókat vitelezhetünk ki, lekérdezéseket végezhetünk el az állapotára vonatkozóan a metódusainak (method) programbeli hívásával. A komponens által megválaszolható események (events) közül kiválaszthat-juk és válaszadó programkóddal megtölthetjük azok függvényeit, amelyek a programunk szempontjából fontosak.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./2. A név jellemző (Name property) Minden komponens egyed saját nevet kap, mely az osztály nevéből és egy sorszámból tevődik össze. Ez a név beépül az objektum eseménykezelő függvényeinek nevébe is. Az automatikusan generált név megváltoztatható, ekkor a C++ Builder átvezeti a változást minden olyan helyen, ahol ő hozott vele létre kódrészletet. A mi általunk írt kódrészben nem aktua-lizál, ezért az átnevezést közvetlenül a komponensegyed létrehozása után célszerű megtenni az Object Inspector-ban. Szigorúan tilos a Builder által generált programkódot közvetlenül, a kódszerkesztőben módosítani!! (Bár lehet.) Ugyanígy tilos program-ból módosítani a nevet. Az új nevet a felirat (Caption) mező is felveszi (ha létezik az adott komponensnél), ami nem mindig kívánatos, mert pl. ékezetes feliratot szeretnénk. Írjuk át tetszés szerint. Tulajdonos (Owner) és Tartalmazó (Parent) jellemzők A komponens Tulajdonosa az az objektum, amely felelős a memóriából való törlé-séért amikor a komponensre már nincs szükség. A Tartalmazó (Parent) az az ob-jektum, amely tartalmazza a komponenst. Egy ablakbeli panelon levő gomb Owner-e az ablak, Parent-je a panel.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./3. A bal(Left) és teteje (Top) jellemzők A vizuális komponensek képernyőn, illetve hordozó form-on, vagy panelon belüli helyét adják meg azáltal, hogy meghatározzák a komponensegyed bal felső sarkának koordinátáit. Értékük negatív is lehet és programból is megadható. Szélesség (Width) és magasság (Height) jellemzők A komponensegyed méretét adják meg. Egyes komponen- seknél (pl. form) minimum és maximum korlát létezhet. A magyarázat (Hint) jellemző A magyarázat akkor jelenik meg az objektumegyedhez, ha az egérkurzorral kissé elidőzünk rajta. A magyarázat rövid leírást ad az objektumról. Két része a rövid és a hosszú magyarázat, megadásakor egy | karakterrel választandó el. A rövid magyarázat a sárga buboréksúgóban jelenik meg, az opcionális hosszú az ablak alján megadható státuszsorban (status bar). Csak akkor látszanak, ha a ShowHint jellemző true az alkalmazásnál is.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./4. A kurzor (Cursor) jellemző Ezzel állíthatjuk át az alapértelmezett kurzoralakot. A kurzor az ily módon megadott alakot ölti akkor, amikor a komponens felett van. Ritkán használjuk. Gyakrabban módosítjuk a kurzort futásidőben programból. Engedélyezett (Enabled) jellemző A komponensek lehetnek ideiglenesen érzéketlenek. Ezt az Enabled = false érték jelzi. Az ilyen komponens nem kerülhet fókuszba, a tab gombbal való lépegetés átlépi. Rendszerint ezt az állapotát vizuális megkülönböztetés is jelzi, pl. szürkébb megjelenés. A legtöbb komponens ezt az állapotát csak futásidőben veheti fel, tervezéskor nem. A beállítást is gyakran programból végezzük. Karakterkészlet (Font) jellemző A komponens feliratának, szövegének formátuma tág határok között állítható, a Font sajátosság kijelölése után jobb oldalt megjelenő gombra kattintással megnyitott, jól ismert karakterformátum beállító ablakban.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./5. A szín (Color) jellemző A komponens háttérszínének , illetve a karakter színének a beállítására szolgál. Fontos kiemelni, hogy tetszőleges szín megadását lehetővé tévő színpaletta mellett az előre beállított színsémák is nagy jelentőséggel bírnak programunk egysé- ges kinézete és a színek felhasználó általi testreszabhatósága miatt. Pl. clWhite fehér szín mellett clMenu is választható, amely az operációs rendszerben a menük számára megadott színt jelenti. Célszerű ezek használata. (Lásd előző oldalon.) Súgószöveg tartalom (HelpContext) jellemző Az objektumhoz társított súgószövegek indexének megadása. Azonosítószám (Tag) jellemző Tetszőleges egészszám kapcsolható a komponenshez, mely felhasználható a programban a beazonosítására. Láthatóság (Visible) jellemzó Ha értéke true, a komponens látszik, ha false, akkor nem látható és nem is engedélyezett. Programból állítjuk leginkább.

Vizuális komponensek közös metódusai Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./6. Vizuális komponensek közös metódusai Elrejtés ( Hide() ) metódus Elrejti a komponenst, a Visible jellemző false értékre állításával. Érvénytelenítés ( Invalidate() ) metódus A komponens nem sürgős újrarajzolásának kérése, melyet a Windows teljesít, amint ráér. Frissítés ( Refresh() ) metódus Azonnali törlés és újrarajzolás kérése. Újrarajzolás ( Repaint() ) metódus A komponens hátterének előzetes törlése nélküli azonnali újrarajzoltatása. A fókusz beállítása ( SetFocus() ) metódus A komponensre állítja a fókuszt és aktívvá teszi.

Vizuális komponensek közös eseménykezelő függvényei Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./7. Vizuális komponensek közös eseménykezelő függvényei Megváltozás ( OnChange() ) eseménykezelő A komponens megváltozása kiváltja az eseménykezelő meghívását. Kattintás ( OnClick() ) eseménykezelő Egérkattintás a komponensen kiváltja az eseménykezelő meghívását. Duplakattintás ( OnDblClick() ) eseménykezelő Dupla egérkattintás a komponensen kiváltja a függvény meghívását. Belépés ( OnEnter() ) eseménykezelő Meghívódik, amikor a komponens megkapja a fókuszt. Kilépés ( OnExit() ) eseménykezelő Meghívódik, amikor a komponens elveszti a fókuszt. Újrarajzolás ( OnPaint() ) eseménykezelő Meghívódik a komponens újrarajzolásakor hogy további speciális rajzolást végezhessünk még rajta.

Vizuális komponensek közös eseménykezelő függvényei, folytatás Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./8. Vizuális komponensek közös eseménykezelő függvényei, folytatás Billentyű lent ( OnKeyDown() ) eseménykezelő Az eseménykezelő meghívódik, ha egy bármilyen billentyűt lenyomtunk, miközben a komponens fókuszban volt. Billentyűmegnyomás ( OnKeyPress() ) eseménykezelő Meghívódik, ha alfanumerikus billentyűt, Enter, Tab, Backspace vagy Esc billen- tyűt nyomtak le. Billentyű felengedés ( OnKeyUp() ) eseménykezelő Meghívódik egy billentyű felengedésekor. Egér lent ( OnMouseDown() ) eseménykezelő Meghívódik, amikor a komponens feletti kurzornál az egér gombját lenyomják. Visszaadja a koordinátákat, a lenyomott egérgombot és váltóbillentyűket. Egérmozgás a komponens felett ( OnMouseMove() ) eseménykezelő Meghívódik, amikor a komponens felett mozog az egérkurzor. Egérbillentyű felengedése ( OnMouseUp() ) eseménykezelő Meghívódik, ha a komponens felett felengedjük az egér lenyomott billentyűjét.

A form-ok fontosabb jellemzői Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./9. A form-ok fontosabb jellemzői Aktív vezérlő (ActiveControl) A form-on található vezérlők egyike választható ki, ez lesz aktív, ez lesz fókuszban, amikor a form aktívvá válik. Automatikus görgethetőség (AutoScroll), Vízszintes és Függőleges görgetőléc jellemzők Ezek beállítása szabályozza a form tartalmának görgethe-tőségét, amennyiben a form kis mérete miatt nem látszik rajta minden vezérlő.(HorzScrollBar, VertScrollBar) Kereten lévő ikonok (BorderIcons) jellemző Ezzel adjuk meg a jobb felső sarokban megjelenítendő ikonokat. Keretstílus (BorderStyle) jellemző A keret stílusa alapvetően méretezhető (bsSizeable) és nem méretezhető lehet (pl. bsDialog , bsNone). Form stílus (FormStyle) jellemző Általában fsNormal. Mindig felül maradó: fsStayOnTop. MDI form-hoz: fsMDIForm és dokumentumához:fsMDIChild.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./10. Használható terület magassága (Client Height) és szélessége (ClientWidth) jellemzők A kereteken belüli és fejléc alatti terület méretei, kihatnak a Width és Height jellemzőkre. Fejlécikon (Icon) jellemző Itt adható meg a fejlécen megjelenő ikon, amely a form minimalizálásánál is megjelenik. Nem mindig látszik, pl. ha a FormStyle fsDialog értékű. Pozíció (Position) jellemző A form első megjelenésekori pozíciója és mérete. Windows dönti el: poDefault. Tervezéskori helyzetben: poDesigned. Minden megjelenés középen; a képernyőén: poDesktopCen-ter, a főablakén: poMainFormCenter, a tulajdonos (owner) form közepén: poOwnerFormCenter, a kétmonitoros üzem-mód kiválasztott képernyőjének közepén: poScreenCenter. Ablakállapot (WindowState) jellemző Maximális, normál, vagy ikonná kicsinyített méret.

Csak programból használható jellemzők Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./11. Csak programból használható jellemzők Ezek a jellemzők nem jelennek meg az Objektum Vizsgálóban, tervezési időben nem állíthatók be. Modalis ablak bezárási módja (ModalResult) jellemző Modális ablakban a kilépéshez, bezáráshoz meg- nyomott gombnál beállítandó a ModalResult értéke, melyet az ablak bezáródása után a vezérlést visszakapó ablak a ShowModal() függvény visszatérési értékeként megkap. Pl. ha az Igen gomb lenyomásával zártuk be a párbeszédablakot, akkor a ModalResult értéke mrYes lesz, ha a Nem gombbal, akkor mrNo, ha a Mégse gombbal, akkor mrCancel. Ha a ModalResult értéke egy gombra nem mrNone, akkor a gomb lenyomása automatikusan bezárja az ablakát azáltal, hogy annak ModalResult jellemzőjének is értéket ad, nem kell OnClick() eseményt is kezelni. További, csak programból használható jellemzők is léteznek.

Form-ok főbb specifikus metódusai Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./12. Form-ok főbb specifikus metódusai Előrehozás ( BringToFront() ) metódus A form ezen metódusának meghívása a form-ot az alkalmazásban szereplő összes form elé hozza. Bezárás ( Close() ) metódus Hívása bezárja az ablakot. (A zárás az OnCloseQuery() eseménykezelővel megakadályozható.) Aktivizálás ( SetFocus() ) metódus A form-ot aktivizálja és előre hozza. Az ActiveControl jellemzővel kijelölt komponens is aktivizálódik a formon (Megkapja a fókuszt.). Megjelenítés ( Show() és ShowModal() ) metódusok Egy form-ot először a memóriában kell létrehozni. Ez történhet egy TForm típusú egyedváltozó definiálásával. Ekkor még a form nem látható, de már létezik. Megjelenítéséhez a Show(), vagy a ShowModal() metódust kell meghívni. A modalis formot be kell zárni, mielőtt más részét használnánk az alkalmazásnak, a nem modális ablakból átkattinthatunk más ablakba a bezárása nélkül is.

Főbb események egy form életében Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./13. Főbb események egy form életében A konstruktor lefut. A form létrejön a memóriában OnCreate() A form létrehozás eseményének eseménykezelője ... Show() metódushívás a form megjelenítésére OnShow() A form megjelenítés eseményének eseménykezelője OnActivate() A form aktívvá válása eseménynek az eseménykezelője OnPaint() Az ablaktartalom kirajzolása esemény kezelője … OnResize() Az ablak mérete változott esemény kezelője Repaint() metódushívás a form újrarajzolására a méretváltozás miatt OnPaint() Az ablaktartalom kirajzolása esemény kezelője … OnMouseDown(); OnMouseMove(); OnMouseUp() egéresemények kezelői … Close() metódushívás a form bezárására, hívja a CloseQuery() metódust OnCloseQuery() benne eldönthetjük, hogy valóban bezárható-e az ablak OnClose() ebben az eseménykezelőben megadhatjuk a zárás módját OnDestroy() Az ablak a memóriából törlődik esemény kezelője ha van destruktor, lefut.

Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 23./14. Megjegyzések: A konstruktorba, vagy az OnCreate() eseménykezelőbe, de csak az egyikbe írjuk bele a form létrehozásakor elvégzendő inicializálásokat, kezdő beállításokat, ha szükségesek. Ugyanígy az OnDestroy() eseménykezelő és a destruktor közül csak az egyikben adjuk meg a form memóriabeli megszüntetésekor elvégzendő esetleges tevékenységeket. Az OnResize() eseménykezelő olyankor hívódik meg, amikor az ablak mérete megváltozott. Ebben az eseménykezelőben újrapozicionálhatjuk az ablak elemeit, újrarajzolhatjuk a benne levő ábrát, újból kiírathatjuk a szöveget a szükséges hosszúságban, stb. Ezek a tevékenységek mind igénylik az ablak újrarajzolását a Repaint() metódus meghívásával. Az eseménykezelők közül a Windows által meghívottak alapértelmezett tartalommal futnak le, ha nem módosítjuk a tartalmukat. A felhasználói tevékenységekre reagáló (pl. egérkezelő) eseménykezelő függvényeket szükség szerint mi építjük be a programba és adjuk meg a tartalmukat.