A szalag ellenőrzi lépésről lépésre
Továbbra is rohanunk a vadonban és a Ribbon Controls bonyolultságában. Ma a napirend az orosz nyelvű népesség szalag kontrolljait állítja fel, valamint egy kis kreativitást a saját témáinak létrehozása érdekében a szalag kontrollokhoz.
Emlékezve valakire a blog olvasóitól, a kérdés "hogyan kell a menü Costumize Dialog? Értsük meg. Végül is, nincsenek sorok a mennyezetről, és magukba helyezik a menüt?
Az ilyen problémák megoldásának legegyszerűbb módja az, ha megnézzük a mappát
C: \ Program Files \ Embarcadero \ RAD Studio \ 7.0 \ lib \
és keressen egy nevet tartalmazó modult, például RibbonSrt vagy RibbonConst. Végtére is a fejlesztőknek meg kell felelniük az írás kódjának minden szabályának, beleértve a karakterlánc és lehetőség szerint más állandók használatát az eljárások és funkciók testében. Kinyitjuk a mappát, és tényleg ott nézünk egy csodálatos RibbonConsts.dcu fájlt. Az azonos nevű nevű fájl, de a * .pas kiterjesztés a mappában található
C: \ Program Files \ Embarcadero \ RAD Studio \ 7.0 \ forrás \ Win32 \ vcl \
Amint látja, minden egyszerű és nem igényel speciális programozási képességeket. Csak tolmácsot használhat.
És most arra a kérdésre fordulunk, hogy én egészségtelen érdeklődésem érdekében most ültek és dolgoznak (csak a főnökök nem jönnek), nevezetesen a Ribbon megjelenését megváltoztatva. Vagy egy érthetőbb nyelven - létrehozva saját bőrét a szalag kontrollokhoz. Bizonytalan, amit tudok, hogy ez egyszerre néhány óra alatt az egész üzletet, és még díszíteni egy blog, de megpróbálom, hogy a lehető legtöbb információt, ha ez - remélem a segítséget a fejlesztés a témát. Tehát menjünk.
Kezdjük tanulmányozni a témát a legegyszerűbb színösszeállításokkal. A Delphi-ben kezdetben három kész színösszetevő található a színsémákhoz:
- XPColorMap
- StanderdColorMap
- TwilightColorMap
Próbáljuk meg alkalmazni őket a gyakorlatban. A dolgok logikája szerint, és a komponensek tulajdonságainak megítélése szerint, a színsémától függően, a betűkészletek színe és az összetevők árnyéka legalább változni kell. Ellenőrizzük a gyakorlatban. Ezt a formanyomtatványon tesszük, a szokásos módon: ActionManager és Ribbon. Hozzon létre egy akciópárt a kezelőben, a szalagból egy lapot és két csoportot hozzon létre (vagy tetszés szerint tetszeni tud), és helyezzük el akciócsoportjainkat a csoportokba.
Most egy egyszerű ComboBox formára dobjuk. mind a három elérhető színséma és egy gomb. Ez a fajta sima formát kaptam:
Most három sort adunk a ComboBox-nak, amelyek mindegyike leírja az egyik színsémát, és a gombra kattintáskezelőn a következő kódot írjuk
Futtassa az alkalmazást, és ellenőrizze, mi történt. Örültem, hogy a betűkészletek színe megváltozott:
Nem elégedett a hibával a gyorsindító panelrel - figyeljen rá. És kiderült, hogy ez a hiba nem tűnik el, még akkor sem, ha újratöltenék a Delphit ... bár csak írógépes hibákra lehet számítani - biztosan ellenőrizni fogom otthon. Addig folytassa.
Most a színséma megváltoztatásának egyik lehetőségét tekintettük - a színsémák már létező, már létező elemeit hosszú ideig használva.
De a Szalagnak van saját típusú TcustomRibbonColorMap is a Ribbon modulban. Lehetséges, és nyilvánvalóan ezt az adattípust kell használni a Ribbon színsémákkal való együttműködés során. Próbáljuk meg alkalmazni.
Az egér rövid manipulálása után az alkalmazás formája az alábbi alakú volt:
Az új ColorBox mindegyike leírja az egyik TcustomRibbonColorMap tulajdonság színértékét.
Add meg a gomb eseménykezelőjét:
És most a Szalag színsémával kísérletezhetünk, amennyire szívünk vágyik, válasszuk a betűszíneket stb. Például összegyűjtöttem ezt a "beteges" rendszert:
Most megnézhetjük a szalag bitkép képernyőjét, és elkészíthetjük saját képünket és hasonlatosságunkat. A fájl súlya nem sokkal kevesebb, mint 1056 kB, így az illusztráció kedvéért adok egy tömörített gif-et és egy kisebb méretű képet. Itt van:
Mivel nem vagyok tervező, és gyakorlatilag semmi a Photoshopban, a kísérlet kedvéért festettem néhány olyan területet, amelyből láttam, hogy be tudtam tölteni a bőrt a programba. Most továbbmegyünk a 2. fázisra - a bõr betöltésére szolgáló modulunkat írjuk.
Észrevette, hogy a projekt első összeállítása után Ribbon használatkor legalább egy további RibbonLunaStyleActnCtrls modul jelenik meg. Ugyanazt a modult írjuk.
Hozzon létre egy üres modult, és adjon némi hangos nevet, például: RibbonMegaStyleActnCtrls. Az alkalmazásokban azonnal három modult csatlakoztatunk: ActnMan, RibbonStyleActnCtrls és Ribbon. És egy konstansot is deklarálnak:
Ha nem elégedett azzal a ténnyel, hogy a bőr közvetlenül a végrehajtható fájl mellett fekszik - nincs probléma, adja meg az elérési útját. És csak be kell regisztrálnunk az új bõrünket és ki kell raknunk az idõben. Nem fogjuk újra feltalálni a kereket (különösen azért, mert nem lehet kerek kerékkel sietni), de ugyanazt írjuk le, mint a szabványos bőröket az inicializálás és a véglegesítés szakaszában:
Ne felejtsük el, hogy a megvalósítás globális változót jelentene be:
Most a modulunkat felhasználásokban és bármely olyan kezelőhöz csatlakoztatjuk, amely az Ön számára kényelmes:
Ezeket a sorokat hozzáadtam a gombkezelőhöz a színséma alkalmazására. Ez volt a programom, miután lepleztem a bőrt:
Szörnyen csúnya, de világos és azonnal látható, hogy valaki szándékosan megcsonkította a szalagot.
Ez mind a mai nap. Bónuszként a bejegyzéshez csatoltam ugyanazt a programot, amelyet a cikk munkamódszerén írtam. Az archívum a program akkor is megtalálja a forrást, beleértve RibbonConsts modulok (egy lefordított vonósok) és a modul teszt bőr, ami, ha lehet, takarít meg a felesleges irkafirka - egyszerűen változtatni az elérési utat és fájlnevet, és a bőr készen áll.