Mozgatható eszköztárak

Ha csak néhány gomb van az eszköztáron, könnyebben használhatja az első lehetőséget. De ha komoly alkalmazást készítesz és szakmai eszköztárat akarsz, akkor jobb, ha egy áthelyezhető panelt használsz, mint például az MS Office programok. Az ilyen panelek mozgathatók, felszedhetők az alakból, és külön ablakot készíthetnek. Azonban írjunk le egy példát ilyen programról.

Hozzon létre egy új alkalmazást, telepítse a ControlBar összetevőt az űrlap További lapján. Ez egy egyszerű összetevő, úgy működik, mint egy panel, de lehetővé teszi, hogy az eszköztárak magukban mozogjanak a felhasználó akarata szerint. Állítsa az Align tulajdonságot a Tetejére, és az AutoSize tulajdonság True értéket. Ezután a komponens automatikusan húzódik vagy zsugorodik, amikor mozgatja az eszköztárakat.

Most menjen a Win32 lapra, és keresse meg a ToolBar komponenst. Ez az eszköztár, telepítse a ControlBar tetejére. Amint láthatja, a ControlBar azonnal elérte a kívánt magasságot. Ha eltávolítja a kiválasztást az összetevőből, akkor látni fogja, hogy a tetején van egy szál. Általában nincs ilyen szeszély a programokon, ezért levesszük. Az összetevő EdgeBorders tulajdonsága bővül, és megmutatja, hogy milyen sávok vannak. Állítsa be az ebTop-ot hamisnak. Mostantól az eszköztárunk professzionális megjelenésű, csak a gombok hiányoznak. Is kívánatos az AutoSize tulajdonság True értékre állítása.

Kezdjük a gombok hozzáadásával. Kattintson a jobb egérgombbal az eszköztáron, és válassza a NewButton parancsot. Új gomb jelenik meg. A NewSeparator parancs ebben a menüben elválasztókat hoz létre a gombok között. Egy gomb vagy határoló törlése egyszerűen - jelölje ki és kattintson .

Hozzunk létre ugyanazt a panelt, mint az előző példában. Az első gomb után helyezze be az elválasztót, majd még két gombot. Ismét ezek a gombok konvexek, a modern alkalmazásokban pedig laposabbak. Válassza ki a panelt, és változtassa meg a Lakás tulajdonság értékét Igaz értékre, majd a panel összes gombja sima lesz.

Most telepítse az ImageList összetevőt az űrlapra, és töltsön be ugyanazt a három képet: dooropen.bmp, led2on.bmp és led2off.bmp.

Most válassza ki az eszköztárat, és a Images (Képek) tulajdonságban válassza ki a ImageList-ot. A listából származó képek automatikusan betöltődnek a gombokba. Ha nem tetszik ezeknek a képeknek az elosztása, megváltoztathatja azokat az ImageIndex tulajdonság megváltoztatásával. Az első kép 0-as indexe, a második pedig 1, és így tovább. Így a listából különböző képekhez rendelhet gombokat.

Nézzünk néhány hasznos tulajdonságot a gombon az eszköztáron. A gomb maga a ToolButton, de az eszközpalettán nincs ilyen összetevő, csak az eszköztár jobb gombbal történő kattintással, és az Új gomb megnyomásával tölthető le. A gomb hasonló a SpeedButton gomb tulajdonságaihoz. Nézzük részletesen.

AllowAllUp. Ha True értékre van állítva, a gomb szinkronizálja az állapotát a csoport többi gombjával - bármikor csak a csoport egyetlen gombját lehet megnyomni. Ez a tulajdonság csak akkor működik, ha a gomb Csoportosított tulajdonsága szintén True értékre van állítva. Válassza ki az utolsó két gombot, és mindkét tulajdonságot igazgá tegye.

Képaláírás. Ez tartalmazza a feliratot a gomb mellett megjelenő gombon, ha a ShowCaptions tulajdonság értéke az eszköztáron True értékre van állítva. Az első gombon ebben a tulajdonságban írja meg az "Exit", a második - "Aktív" és a harmadik "Inaktív". Mi lesz aktív ott vagy sem, ez nem számít, most már csak megtanuljuk, hogyan kell az eszköztárral dolgozni. Most válassza ki az eszköztárat, és állítsa a ShowCaptions tulajdonságot True értékre. Amint láthatja, a gombok nagyok, és a kép mellett a szöveg is megjelenik rajta. Egyes alkalmazásokban ilyen eszköztárak találhatók. Ismételje meg ezt a tulajdonságot a False-nak. A gombok eredeti méretéhez való visszatéréséhez válassza ki az első gombot, és méretezze át. Állítsa be a Magasság és Szélesség tulajdonságait 23 értékre.

Le. Mint korábban, ez a tulajdonság felelős a gomb állapotától - nyomva van vagy nem. Az előző példa megismétléséhez állítsa az első Down gombot True értékre.

ImageIndex. Ezzel a tulajdonsággal már megértettük, hogy felelős a gombon megjelenő képért.

Stílusban. Gomb stílus. Talán a legérdekesebb ingatlan. Ha összeállítja a példát, látni fogja, hogy ha megnyomja a gombot, visszatér a megnyomott állapotba. És mi lenne, ha az előző példához hasonlóan megkövetelnénk, hogy mindig csak egy gombot nyomja meg a csoporttól? Már csoportosította az utolsó két gombot, és azt mondta nekik, hogy szinkronizálja az állapotot a csoport többi gombjával. Most válassza ki újra őket, és a Stílus tulajdonságban válassza a tbsCheck lehetőséget. Ez a stílus lehetővé teszi a gomb megnyomását. A tömörítéshez újra be kell kattintania a gombra. Ha a gombok csoportosulnak, mint a mi példánkban, egy másik nyomógomb megnyomásával az első gombot megnyomjuk.

Magának az eszköztárnak számos érdekes tulajdonsága van, amelyeket meg kell tudnia. Válassza ki, és nézze meg az Objektum felügyelőt. Nem szedjük le az olyan tulajdonságokat, mint az Igazítás, a Magasság és a Szélesség, mivel más alkotóelemekről ismerik őket.

AutoSize'. Ha az Igaz, a panel automatikusan igazítja a magasságot, a gombok magasságának megfelelően.

ButtonHeight. Meghatározza a panelen létrehozott gombok magasságát.

ButtonWidth. Itt határozhatja meg a gombok szélességét. Ahhoz, hogy a gombok négyzetesek legyenek, hagyja ezeket a tulajdonságokat egyenlőnek egymással.

Képaláírás. Az eszköztár neve, amely akkor lesz látható, ha eltávolítja az eszköztárat a helyéről, és külön ablakot készít. Adja meg a "Fájl" tulajdonságot ebben a tulajdonságban.

Lapos. Ha Igaz, a gombok modernek, dudorok nélkül.

List. Működik, ha a ShowCaptions True értékre van állítva. Ha az Igaz, akkor a kép a bal oldali és a jobb oldali szövegre kerül. Ellenkező esetben a kép felül lesz, és a szöveg a gomb alján található.

ShowCaptions. Engedélyezi vagy letiltja a gombok szövegének megjelenítését.

Ezenkívül tudjuk, hogy a gombok különböző állapotokkal rendelkezhetnek, és aktívak vagy inaktívak (ez az Engedélyezett tulajdonságtól függ). A normál gomb inaktív állapotban szürke hanggal rendelkezik. A gombok három kép opciót tartalmaznak - normál, inaktív, és amikor az egérmutató a gomb fölött van. Az egyik ImageList tárolóban lehetetlen betölteni a különböző gombállapotok képét. Ha mindhárom állapotot szeretné használni, akkor három ImageList konténert kell telepíteni a képekhez. Minden tárolóban hozzáadja az állapotát ábrázoló képet, fontos, hogy ezek a képek azonos mutatóval rendelkezzenek, vagyis hogy megfeleljenek egymásnak a listában szereplő sorrendben. Ezután telepíti a következőket:

Képek. Itt megad egy konténert a szokásos gombképen, van ImageList1.

DisabledImages. Itt megad egy konténert a nem elérhető gombok képeivel.

HotImages. Itt adhatja meg a tartályt a gombok képeivel abban az időben, amikor az egérmutató felül van rajta.

Általában ilyen bölcsességekre nincs szükség, elegendő csak a gombok egyetlen képének megadása. De szükséges tudni az összetevők ilyen képességeiről.

DragKind. Talán az eszköztár legérdekesebb vonása. Két lehetőség közül választhat: dkDrag (alapértelmezés szerint) és dkDock. Ha a dkDrag telepítve van, a panel csak a ControlBar belsejében mozgatható. Ehhez az egérmutatót kell használnia a panel bal oldalán lévő függőleges kötőjel megragadásához és mozgatásához. De ha a dkDockt telepíti erre a tulajdonságra, az eszköztár eltávolítható a ControlBar-ból, a programablak belsejében, vagy akár azon kívül is. Próbálja meg.

Most egy másik érdekes példa az eszköztárról. A panel gombjai összeköthetők a fő vagy felugró menüvel! Ez azt jelenti, hogy ha van egy főmenüje, és van egy "Kilépés" parancs, amelyet már beprogramozott, akkor nem kell ugyanazt a kódot írni a gombról, csak csatlakoztatni a főmenü komponenshez.

Nem rendelkezünk a kilépési eseménykezelő kóddal. Ha van, törölje. Állítsa be a főmenüt az űrlapon. Adja meg a "Fájl" és "Megnyitás", "-" és "Kilépés" alszakaszokat. Illessze össze a menüt az ImageList segítségével, és válassza ki a "dooropen.bmp" képet az "Exit" menüpontban. Most hozzon létre egy eseménykezelőt ehhez az elemhez, és írjon ide

Mentse el a projektet, fordítsa le és nézze meg, hogyan működik. Most válassza ki az "Exit" gombot az eszköztáron, és a MenuItem tulajdonságban válassza ki azt a menüpontot, amellyel szeretné társítani a gombot (ezt az N4-et használtam). Ha mindent helyesen csináltál, amikor a program fut, ha a felhasználó kiválasztja az "Exit" parancsot a menüben, vagy megnyomja az "Exit" gombot az eszköztáron, ugyanaz a kód lesz végrehajtva.

Hasonlóképpen, a gombok társulhatnak egy előugró menühöz, amelyre a PopupMenu tulajdonság felelős, amelyben kiválaszthat egy előugró menüt. A DropDownMenu tulajdonság egy almenüvel ellátott gombot társít, ha van ilyen.

Megvizsgáltuk a szakmai eszköztár megszervezésének módjait, most a programjai szilárdabbá válnak.

Kapcsolódó cikkek