1. WINDOWS BEVEZETÉS.

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements

Osztály leszármaztatás

Kamarai prezentáció sablon
Készítette: Boros Erzsi
Delphi A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel és sebességével. RAD - Rapid Application Development; „Vizuális nyelv”; 4GL nyelv:
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Access Adatbáziskezelés
Erőállóképesség mérése Találjanak teszteket az irodalomban
MATEMATIKA Év eleji felmérés 3. évfolyam
Elektromos mennyiségek mérése
Utófeszített vasbeton lemez statikai számítása Részletes számítás
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
A tételek eljuttatása az iskolákba
Delphi A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel és sebességével. A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel.
Bevezetés a Java programozásba
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
Delphi programozás Delphi programozás SRTNB előadás - Borland Delphi – fontosabb komponensek tárgyalása Nagyváradi Anett.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Webszerkesztés Űrlapok a HTML-ben. Űrlap létrehozása Űrlapunk tartalma a … elemek között fog helyetfoglalni Egy lapon több űrlap is elhelyezhető Több.
NOVÁK TAMÁS Nemzetközi Gazdaságtan
VFP Form programozás Form szerkesztő elemei vezérlő elemek
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Microsoft Access Űrlapok tervezése.
szakmérnök hallgatók számára
Formanyomtatványok létrehozása Dreamweaverrel E-business 6. előadás.
Logikai szita Izsó Tímea 9.B.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Vizuális alkalmazások a FoxProban Páll Éva Boglárka.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Objektumorientált programozás
Delphi Készítette: Rummel Szabolcs Elérhetőség:
APEX BMF, II. félév.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Java programozási nyelv Metódusok
A gyakorlatok munkakörnyezete
HTML 2. Űrlapok
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
A Visual Basic nyelvi elemei
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
A Visual Basic és a programozás oktatása
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Algoritmizálás, adatmodellezés
1 Az igazság ideát van? Montskó Éva, mtv. 2 Célcsoport Az alábbi célcsoportokra vonatkozóan mutatjuk be az adatokat: 4-12 évesek,1.
Grafikus programozás Készítette: Csernok László
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Alapok Gyakorlat 2015/16 őszi szemeszter Automatizálási tanszék.
LA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 24./0. lA menü elkészítése lA programkód megírása.
A C++ programozás Windows környezetben szöveges vezérlők a programban
Programozási nyelvek típusossága.
ComboBox A listák nagy helyet foglalnak a formokon, és az általuk felkínált elemek nem bővíthetőek a felhasználó által. Ezen problémák megoldására használhatjuk.
Előadás másolata:

Negyedik Generációs Nyelvek ( Delphi ) 1. Windows bevezetés 2. Delphi alkalmazások felépítése 3. Delphi fejlesztőkörnyezet 4. Standard komponensek

1. WINDOWS BEVEZETÉS

Bevezetés WINDOWS Lehetővé teszi az egymással kommunikáló programok párhuzamos futtatását és a programok szabványos - ablakokra alapozott- grafikai megjelenítését. Alkalmazások: DOS alapúak - DOS-t és BIOS-t felhasználók - Direkt hardverkezelők Windows alapúak Az alkalmazás egy méretezhető, mozgatható ablakban fut. Multitasking 1 program futtatása több példány- ban, ill. több program párhuzamos futtatása

Bevezetés Windows rendszer = dinamikusan szerkeszthető könyvtárak Megkötés: Egy Windows program minden része Windows alapelven kell működjön. Objektum orientált programozás Minden ablak egy objektum: Adatai: címe, menüje, színe, kurzor formája, ikonja,... Viselkedése: reakciója a különböző külső és belső eseményekre

Egér bal gomb lenyomása Bevezetés Windows eseménykezelés, üzenetvezérlés Esemény Egy külső történés ( egy billentyű leütése, az egérgomb lenyomása) Az eseményeket a Windows üzenetekké alakítja át. Üzenet Egy rekord, mely tartalmaz egy azonosítót, és további adatokat. WM_LBUTTONDOWN Azonosító = 201 Adatok: X, Y a többi egérgomb és a CTRL, SHIFT bill. állapota Egér bal gomb lenyomása

Az 'A' billentyű leütésének feldolgozása Üzenetek feldolgozása, kezelése Az üzeneteket a Windows rendszer szétszórja megfelelő szabályok szerint. Alkalmazás Főprogram 1. Ablak függvény 2. Ablak függvény Windows Windows üzenetsor Alkalmazás üzenetsor A Kiírás Az 'A' billentyű leütésének feldolgozása 

Nem sorolt üzenetek az ablakot érintő üzenetek, mint pl. az ablak létrehozása, bezárása Pl. Exit az alkalmazás ablakában Alkalmazás Főprogram Főablak függvénye Windows Windows üzenetsor Alkalmazás üzenetsor WM_DESTROY WM_QUIT Alkalmazás befejezése

Tehát: Üzenetek feldolgozása, kezelése Esemény  üzenet Üzenet  rendszerszintű üzenetsor  alkalmazás üzenetsor (belső üzenetek is) Az alkalmazás sorban kiolvassa a saját üzeneteit ("üzenetkezelő ciklus"), majd utasítja a Windows-t, hogy a megfelelő ablakfüggvényt hívja meg Az ablakfüggvény feldolgozza az üzenetet (egy többágú szelekcióban).

Üzenetek feldolgozása, kezelése Végül, a Windows átadja a vezérlést a főprogramnak. Megkezdődhet a soron következő üzenet feldolgozása. Több párhuzamosan futó alkalmazás esetén, a Windows létrehoz mindegyikük számára egy-egy üzenetsort.

Minden Windows-os alkalmazásban van: Üzenetek feldolgozása, kezelése Összefoglalás Minden Windows-os alkalmazásban van: Egy "üzenetkezelő ciklus" Ahány ablak, annyi ablakfüggvény Egyéb függvények és eljárások

2 DELPHI ALKALMAZÁSOK

A Delphi alkalmazás felépítése Főprogram, projektállomány (*.DPR) Képernyőtervek (*.DFM) és az azok viselkedését leíró egységek (*.PAS) Egyéb egységek (esetleg), melyek könyvtárakként működnek Külső erőforrások (*.BMP,*.ICO,*.CUR, *.HLP) Minden Delphi alkalmazást külön könyvtárban tároljunk!

Delphi projektállomány Dinamikusan szerkeszthető könyvtárak *.DPR Unit (form) *.PAS Form szöveges leírása *.DFM Unit *.PAS Erőforrás- állomány *.RES LefordítottUnit *.DCU LefordítottUnit *.DCU Delphi alkalmazás *.EXE Dinamikusan szerkeszthető könyvtárak *.DLL

Futáskor: Form (Űrlap) Szerkesztő-doboz Nyomógombok

Eljárások procedure {Osztálynév.}Eljárásnév(paraméterek); direktívák; Lokális adatok, metódusok; begin utasítások; end;

Függvények A függvények abban különböznek az eljárásoktól, hogy hívásuk után visszatérnek egy előre megadott típusú értékkel Function {Osztálynév.}Függvénynév(paraméterek) : visszatérési érték típusa; direktívák; Lokális adatok, metódusok; begin utasítások; Függvénynév:=visszatérési érték; vagy Result:= visszatérési érték; end;   Megj.: a Pascaltól eltérően használhatjuk a függvénynév helyett a Result kulcsszót

A Delphiben 1 fájlban lehet több osztály is Az Object Pascal osztálymodell 1 osztály= 1 fájl A Delphiben 1 fájlban lehet több osztály is Type TOsztály = Class ( TŐsOsztály) Mezőlista ; Metóduslista ; Jellemzőlista ; End;

Előfordulásai dinamikusan jönnek létre Egyszeres öröklődés Az Object Pascal osztálymodell Előfordulásai dinamikusan jönnek létre Egyszeres öröklődés Minden új típusnak van őse, a TObject (A közös ős előnyét lásd később) Mezőlista: adatmezők leírása

Adathozzáférés korlátozása A hozzáférésnek-amely adatokra, metódusokra vonatkozik- a Delphiben 4 szintje van Private (privát) Protected (védett) Public (publikus) Published (publikált) Private (privát) adatok és metódusok: Csak az illető osztály metódusaiból érhetők el Protected (védett) adatok és metódusok:A kurrens osztály és a leszármazott osztályok metódusaiban láthatók Public (publikus) adatok, jellemzők és metódusok: Kivűlről(objektumból) is elérhetők Published (publikált) adatok és jellemzők:Mint a public, de tervezési időben is elérhetők(Objektum felügyelőben-Object Inspector lsd. később)

Adathozzáférés korlátozása Ezeket a kulcsszavakat az osztálydeklarációban használjuk, tetszőleges számban elhelyezhető, először az adatokat kell felsorolnunk, majd a metódusokat   Type TOsztaly=Class Private Adatok; Metódusok; Protected End;

Egységek Egység A főprogramhoz hozzászerkeszthető tárgykód Fordítás után .TPU kiterjesztést kap A tárgykód mérete < 64 Kbyte Az egység célja: Korábban kipróbált, bevált programrészek hozzáférhetővé tétele más programokban Megvalósítási részletek elrejtése A kód mérethatárának kiterjesztése Az egységnek meghatározott feladatköre ("kohéziója") van!

Egységek Az egység (Unit) felépítése Egységfej Illesztő (interface) rész Kifejtő (implementációs) rész Végrehajtó (inicializációs) rész

Egységek Az egység részei: Egységfej Illesztő rész Kifejtő rész Unit egységnév; Illesztő rész Interface Globális deklarációk (változók, típusok, konstansok, eljárásfejek...) Kifejtő rész Implementation A globális és lokális eljárások kifejtése Végrehajtó rész Egységek Begin Előkészítő tevékenységek End.

Egységek Egységek használata Egység szerkesztése, fordítása, tárolása Az egység forráskódját ugyanúgy szerkesztjük, mint bármely programot. Az egységnévnek meg kell egyeznie a .PAS állomány könyvtári nevével! Az egységet lemezre fordítjuk. A .TPU állomány a fenti könyvtárban keletkezik.

Egységek Egységek használata (folytatás) Az egységet használó program fordítása Ne feledkezzünk meg a USES egységnév utasításról! A programot célszerű a Compile/Make (F9) menüpont szerint fordítani (ha megváltozott az egység forráskódja, akkor az a programmal együtt ismételten lefordítódik).

Egységek Az egységet használó program futtatása, belövése Egységek használata (folytatás) Az egységet használó program futtatása, belövése Ha a programot is lemezre fordítottuk (.EXE), az mindazt tartalmazza, ami a futtatáshoz kell (a .TPU állomány már nem szükséges). Forrásnyelvi nyomkövetés (F7) az egység rutinjaiban akkor lehetséges, ha az egység forráskódja is elérhető.

A program belépési pontja a main ! A projektállomány szerkezete Új projekt létrehozásakor a keretrendszer létrehoz egy projektállományt, egy ablakot, és az ehhez tartozó egységet. program pUdvozles; uses Forms, uUdvozles in 'uUdvozles.pas' {frmUdv}; {$R *.res} begin Application.Initialize; Application.CreateForm(TfrmUdv, frmUdv); Application.Run; end. A program belépési pontja a main !

Képernyőterv leíró állomány (*.DFM) A formon levő objektumok grafikus (külalaki) tulajdonságait tartalmazza binárisan Vizuális tervezéssel jönnek létre Megtekinthetők szöveges formában is

A formhoz tartozó egység (*.PAS) tartalmazza a megtervezett formosztály definícióját és a rajta levő komponensek viselkedését. Mindegyik űrlaphoz(formhoz) tartozik egy Pas állomány

3. FEJLESZTŐKÖRNYEZET

Bevezetés A Delphi fejlesztő környezet jellemzői: Windows-os alkalmazások (16 és 32 bit) Vizuális fejlesztői eszköz, RAD (Rapid Application Development) 4GL (4th Generation Language) Hátterében OO nyelv áll (Object Pascal) Készíthetünk vele EXE-t és DLL-t Dinamikus adatcsere lehetőségek: DDE, OLE 1.0, 2.0, OLE Automation

Bevezetés A Delphi fejlesztő környezet jellemzői: Adatbázis-kezelés IDAPI (Integrated Database Application Programming Interface) DBase, Paradox, Oracle, Ingres, Informix, Interbase, ... Helyi és távoli adatforrások Táblák, lekérdezések, jelentések MAPI (Multimedia Application Programming Interface) Internet-es alkalmazások

Osztályhierarchia A Delphiben minden komponens valamelyik osztályhoz tartozik Mivel a Delphi 7 rengeteg komponenst kínál a programozóknak, az osztálydiagram felépítése bonyolult. A Delphi osztályok legnagyobb része komponensosztály

Osztályhierarchia Egy-egy komponensre egy-egy osztály épül fel, ezek a komponensek megtalálhatók az ún. komponenspalettán Mint látjuk az összes osztály közös őse a TObject. A VCL(Visual Component Library) vizuális komponenskönyvtár, a TObject osztályból nagyon sok osztályt származtat

Delphi komponensek Delphi komponenstípusok: Láthatók (Edit, Button,...) Láthatatlanok (Timer, MainMenu,...) Használatuk: A komponenseket összecsipegetjük a komponenspalettáról és elhelyezzük őket a formon Eredményül, a rendszer mezőként deklarálja a megfelelő formosztályban (tartalmazási kapcsolat )

A keretrendszer komponenspaletta form vizuális képe objektum-felügyelő kódszerkesztő ablak

F11: megjeleníti az objektum-felügyelőt Gyakran használt funkcióbillentyűk: F11: megjeleníti az objektum-felügyelőt F12: váltás a form és kódszerkesztő ablakok között SHIFT + F12 : váltás a unitok között F9 : fordítás, futtatás F7 , F8 : lépésenkénti végrehajtás

A Delphi alkalmazás felépítése (űrlapok) Főprogram (*.DPR) Uses Unit1, Unit2, Unit3,... Begin ... End. unit Unit2; interface uses… unit Unit1; interface uses…

4. STANDARD KOMPONENSEK

Nem látható komponensek TComponent alosztályai a TControl-t kivéve Vizuális komponensek TControl Nem látható komponensek TComponent alosztályai a TControl-t kivéve Ablakalapú vezérlők TWinControl Nem ablakalapú vezérlők TGraphicControl

Standard komponensek TObject TComponent TControl TLabel TWinControl TButton TEdit TMemo

Standard komponensek Innen származó tulajdonságok: TComponent: Komponensek közös őse Innen származó tulajdonságok: Name: String[63] (a komponens programbeli neve) Owner: TComponent (tulajdonosa)

Standard komponensek TControl a látható komponensek absztrakt osztálya Fontosabb jellemzői: Parent: TWinControl (szülőablaka) A választógombok tulajdonosa (owner) a párbeszédablak A választógombok szülője (parent) a választógomb csoport

Standard komponensek TControl Align: alNone, alTop, alBottom, ..., alClient (igazítás a szülőablakon belül) Caption: String Visible: Boolean (látható-e?) Enabled: Boolean (fogadja-e az üzeneteket?) Top, Left, Width, Height: Integer Color: TColor (clRed, clSilver,...) DragCursor: TCursor (crDefault, crSize,crHourGlass,...)

Standard komponensek Fontosabb eseményei: TControl Font: TFont (Color, Name, Size, ...) PopupMenu: TPopupMenu (gyorsmenü, ls. később) Fontosabb eseményei: OnClick, OnDblClick OnDragDrop, OnDragOver, OnEndDrag OnMouseDown, OnMouseMove, OnMouseUp

Standard komponensek MainMenu Menü Label Címke Edit Szerkesztődoboz Button Gomb CheckBox Jelölőnégyzet

Standard komponensek RadioButton Rádiógomb ListBox Listadoboz ComboBox Legördülő lista RadioGroup Rádiógomb csoport Panel

Shape Alakzat BitButton Bitmapas gomb SpeedButton Beragadó gomb Image Kép MaskEdit Maszkolható szerkesztődoboz StringGrid Rács (táblázat)

Standard komponensek Szerepe: passzív szöveg megjelenítése az űrlapon TLabel Szerepe: passzív szöveg megjelenítése az űrlapon Fontosabb jellemzői: Caption: String Transparent: Boolean

Standard komponensek Az "ablakozott" komponensek őse TWinControl Az "ablakozott" komponensek őse Fontosabb jellemzői: TabStop: Boolean TabOrder: -1..32767 Fontosabb metódusai: Update (frissíti, újrarajzolja) SetFocus (fókuszba helyezi)

Standard komponensek Fontosabb eseményei: TWinControl OnEnter, OnExit (be- és kilépéskor) OnKeyDown, OnKeyUp, OnKeyPress

Standard komponensek Szerepük: adat megjelenítése és bekérése TEdit, TMemo Szerepük: adat megjelenítése és bekérése TEdit: egy sorban TMemo: több sorban Fontosabb jellemzők: Text: String TMemo - nál: Lines: TStrings A megjelenített szöveg soronkénti feldolgozása MaxLength: Integer AutoSelect: Boolean

Standard komponensek Fontosabb metódusai: TEdit, TMemo SelText: String SelStart, SelLength PasswordChar: Char Fontosabb metódusai: SelectAll ClearSelection CutToClipboard, CopyToClipboard, PasteFromClipboard

Standard komponensek Fontosabb eseményei: TEdit, TMemo OnEnter : belépéskor OnChange : ha a Text változik OnExit : kilépéskor

Standard komponensek TButton , TBitBtn Szerepük: kattintásra betáplált tevékenység elvégzése Fontosabb jellemzők: Caption: String Cancel: Boolean (Esc - re meghívódik) Default: Boolean (Enter- re meghívódik) ModalResult: mrOk, mrCancel, ... modális párbeszédablak kilépési oka

Standard komponensek Fontos eseményük: TButton , TBitBtn TBitBtn - nál: - Glyph: TBitmap, NumGlyphs:1..4 - Kind: bkCustom, bkRetry, bkOk, ... Fontos eseményük: OnClick

Standard komponensek TCheckBox Jelölőnégyzet Igaz/ Hamis, Igen/ Nem, ... állapotok jelölésére Fontosabb jellemzők: Checked: Boolean AllowGrayed: Boolean (szürkítés engedélyezése) State: cbChecked, cbUnChecked, cbGrayed

Standard komponensek TRadioGroup Választógomb csoport egymást kölcsönösen kizáró opciók számára Fontos jellemzők: Items: TStrings (az opciók szövege külön sorban) ItemIndex: Integer (= 0  első opció, =1  második opció,...) Fontos eseménye: OnClick

Standard komponensek TListBox Listadoboz; nem szerkeszthető; egy vagy több sora kiválasztható Fontos jellemzői: Items: TString (sorai) ItemIndex: Integer (a kiválasztott sor indexe (0  első sor,...)) MultiSelect: Boolean (többszörös kiválasztás engedélyezése) SelCount: Integer (a kiválasztott sorok száma)

Standard komponensek Fontos metódusa: TListBox Selected[i]: Boolean (True ha az i. indexű sor ki van választva) Sorted: Boolean Fontos metódusa: ItemAtPos : visszaadja a megadott x,y koordinátákban levő sorának indexét (egér kattintásakor használjuk)

Standard komponensek TComboBox Kombinált lista; közvetlenül szerkeszthető, vagy kiválasztható egy elem a lebomló listából Fontos jellemzői: Text: String (szövege) Items: TStrings (a lista elemei) ItemIndex: Integer (a kiválasztott listaelem indexe) DropDownCount: Integer (hány soros legyen a lebomló lista)

Standard komponensek Fontosabb eseménye: TComboBox Sorted: Boolean SelText, SetStart, SelLength mint a TEdit - nél. Style: csDropDown, csDropDownList, csOwnerDrawFixed, ... Fontosabb eseménye: OnDropDown (a lista lenyitásakor)

Standard komponensek Menük használata TMainMenu Típusai: Főmenü Gyorsmenü (egér jobb gombra) TMainMenu Főmenü komponens Vizuálisan szerkesztjük a menüszerkesztővel Fontosabb jellemzője: Items[x: Integer]: TMenuItem

Standard komponensek Menüpont szürkítése: Menük használata Pl. A FileMenu OnClick eseményére felülbíráljuk az almenüpontok állapotát (pl. OpenMenu. Enabled := False) Menük használata

Standard komponensek TMenuItem Tartalmazza egy menüpont tulajdonságait, metódusait és eseményeit Jellemzői: Caption: String - Forróbillentyű: &File  File - Menüszeparátor: Caption = - Items[X: Integer]: TMenuItem (az almenüpontok) Count: Integer (almenüpontok száma)

Standard komponensek Metódusai: Eseménye: TMenuItem Checked: Boolean ("pipa") Enabled: Boolean (=Falseszürke) GroupIndex: Integer (ld. később menük összefésülése) Metódusai: Add, Insert, Remove (futás közbeni menüátalakítás) Eseménye: OnClick

Standard komponensek TPopupMenu Egyéb komponensek PopupMenu tulajdonságához kötjük Vizuális tervezéssel jön létre Fontosabb jellemzői: Items[x: Integer] : TMenuItem AutoPopup: Boolean (ha True, akkor automatikusan az egér jobb gombjának lenyomására megjelenik) Hasznos metódus: Popup (megjeleníti a gyorsmenüt)

Standard komponensek Hasznos eseménye: TPopupMenu OnPopup: megjelenéskor hívódik meg felhasználhatjuk a menüpontok engedélyezésére ill. letiltására