Létrehozása menük és eszköztárak, hogy a Lazarus

Akciólista alapjául a felhasználói felület

Aki már volt, hogy dolgozzon ki egy grafikus felhasználói felület, szembesülnek azzal a ténnyel, hogy van néhány általánosan elfogadott elveivel építése. Különösen, szinte minden ablak egy menü és eszköztár. Általános szabály, hogy található az eszköztár gombjai, amelyek megismétlik a leggyakrabban használt menüpontok. Ezen túlmenően, a kényelem, néhány fő menüpontok lehet sokszorosítani a helyi menü jelenik meg, ha a jobb gombbal egy másik formája ellenőrzéseket.

Természetesen egy ilyen ismételt párhuzamos probléma hozzáadásával és módosításával parancsokat: egy és ugyanazon intézkedésre van szükség, hogy leírja egy párszor. Ez volt akkor, és segít nekünk Akciólista, pontosabban annak alkotóelemei a cselekvési. Ezek a tételek felhalmozódnak a közös tulajdonságok A menüpontok és gombok, valamint lehetővé teszi számunkra, hogy meghatározza a közös esemény kezelők akkor aktiválódik, valahányszor az aktiválás bármely eleme, hogy lásd a kereset.

Sőt, a végrehajtása során a program, meg tudjuk változtatni a tulajdonságait bármely elemének fellépés és a változtatások automatikusan továbbítódnak az összes csatlakoztatott komponensek. Például, ha beállítja a Engedélyezve tulajdonságot False egyik eleme a cselekvési, valamennyi kapcsolódó alkatrészek elérhetetlenné válnak.

Felfegyverkezve ilyen értékes tudást hozzunk létre egy új projektet Lazarus és helyezzük a fő (és egyetlen) alkatrészek formájában és StaticText Akciólista. Az első ilyen lesz használható, hogy jelezze az aktiválás a különböző menüpontok és eszköztár gombok, ezért növelik a betűtípus, hogy jobban lásson. A második nyújt öt elem a fellépés, megteremti számukra rakodók OnExecute események amely azt fogja rendelni a Caption tulajdonának StaticText egyszerű szöveges, amely megmondja, milyen beavatkozás végeztünk.

Létrehozása menük és eszköztárak, hogy a Lazarus
Azonban anélkül, hogy a kapcsolódó Akciólista komponens nem nyilvánul meg, és ezért használhatatlan. Adj értelmet létének segíteni a menüpontok és eszköztár gombokat.

Létrehozása a főmenü

Add a MainMenu komponens maga a forma, hozzon létre egy legfelső szintű elem 3 és mindegyikben hozzá almenü 1-2 pontot úgy, hogy az összes almenü kapott összesen 5 pont. Az Action tulajdonsága mind az öt elem, válassza ki a megfelelő terméket a mi Akciólista. Az ingatlan a menüpontok, például a felirat szerint változik a kijelölt műveletet. A menü jelenik meg a tetején a forma, ahogy kellene.

Létrehozása menük és eszköztárak, hogy a Lazarus

Létrehozása helyi menü

A helyi menü, vagy más szóval, a pop-up menü - és nagyon kényelmes felület elemeit. Hozzátéve, hogy a forma hasonló hozzá egy főmenü, azzal a különbséggel, hogy van egy vertikális struktúra, és nem feltétlenül csak: majdnem minden eleme a forma, akkor beállíthatja a helyi menüből. Csakúgy, mint a főmenüben, hogy adjunk a helyi menü 5 pontot, míg az elem, amelyre mi állapítsa meg a forma is. Ez a tulajdonság formák PopupMenu rendelni csak az, hogy elő a helyi menüt.

Létrehozása menük és eszköztárak, hogy a Lazarus

Létrehozása eszköztár

Eszköztár kétségtelenül - a legnehezebb része a felület, különösen, ha azt akarjuk, hogy ez szép, kényelmes és funkcionális. Ennek alapján vesszük TToolBar nem primitív, de TPanel panel, amely lesz hozzá különböző részeiben. Ez a panel pontosan olyan, mint az eszköztár, meg az Align tulajdonság annak altop. Tehát ő elterült mentén a felső határ az ablak áll rendelkezésre. Most adjuk hozzá a panelt öt gomb TSpeedButton és a másik panel, amely elhelyezni egy legördülő listát, és egy egyszerű gomb TButton. Minden gomb és a panel Igazítás balra, Igazítás beállítás tulajdonságaik alLeft és egy kis szakaszon. Meg kell kinéznie:

Létrehozása menük és eszköztárak, hogy a Lazarus
Azt kérdezed, hol piktorgammy gombok? Helyeztem őket ott kézzel. Tény, hogy ellenőrizzék az ikonok gombok és menüpontok használhatók TImageList komponenst. Azonban egyrészt ez nem triviális feladat, mert A gombok és különböző méretű képeket a menük, és a másik - a végrehajtása a Lazarus TImageList, sajnos, még nem fejeződött be.

Vizsgáljuk meg most részletesebben TPanel komponens maga. Ebben az esetben a leginkább érdekel, mint a legtöbb esztétikailag és hatékonyan befogadni más alkatrészek panel. TPanel számos lehetőséget nyújt erre. Először is el lehet helyezni nemcsak a kulcsokat, hanem más összetevők, például a kiegészítő elemek, amelyek tartalmazhatnak olyan elemeket, amelyek nem igényelnek méretezés. Ne feledje, hogy összehangolják a gyermekek alkatrészek balra, és most egy síkban vannak egymással, és változtatni a magasságot, megismételve a panel magasságát? Tehát: legördülő listából, és mégse gomb felhasználásával készült a változás nem változik sem a mérete, sem a relatív helyzetét. Ezért azok belsejében elhelyezett kiegészítő tábla.

Ami a megjelenést és elhelyezése beágyazott komponensek, a panel egy sor tulajdonságot, amely megváltoztathatja mindezt egy meglehetősen széles. A kezdéshez próbálja kísérletezni a tulajdonságok BevelOuter BevelInner, amelyek meghatározzák a kilátás a keret panel. Kiválasztásával különböző kombinációi ezek tulajdonságokat lehet elérni meglehetősen bizarr eredményeket. További fontos tulajdonságok a különböző padding és a határok. Itt látható, hogy néhány közülük befolyásolhatja a helyét a komponensek a készítményben a panel:

Létrehozása menük és eszköztárak, hogy a Lazarus

De ez még nem minden. Töltsük a legördülő listából a következő sorokat: Akkor zaprogrammiruem esemény eljárásokat és a gombok listájának miként a fenti lista. Fussunk a programot, és válasszon egy másik sor a listában, ellenőrizze, hogy a vonatkozó pontjaiban a fő és a helyi menüben, valamint eszköztár gombjai eltűnnek, vagy elérhetetlenné válnak. Az ilyen viselkedés a felület nagyon hasznos, például, a végrehajtás rendszerének szétválasztása hozzáférési jogokat.