A szinkronizálás mainmenu és eszköztár segítségével tactionmanager és tapplicationevents Delphi és építő
Milyen szörnyű történt a nevét a téma! Tény, hogy minden sokkal könnyebb. Azt akarom mondani, hogyan kell csinálni a főmenüben a programban testreszabható (azaz néhány ritka példány ispolzyemye lehet rejtett vagy add környezetfüggő menüpontok). Ez a cikk is érinti a kérdés, hogyan lehet szinkronizálni ToolBar menüket kell tennie, hogy ez is változik a megjelenés a szövegkörnyezettől függően a program. Végül, menjen végig a azokat az alkatrészeket, amelyek célja, hogy megkönnyítse a folyamatban, és nem kell kitölteni mindent manuálisan. És persze, mi mindezt egy példát.
Tehát kattintson a Delphi vagy Bildere Fájl-> Új-> VCL Form Application. Mivel Delphi programozási környezet még egyszer elterjedt az orosz fény egy részét (valamint a latin-amerikai :)), mint a C ++ Builder. és a példa azt kísér. Builder különbségek jelentéktelenek, és csak kifejezett a szintaxis a nyelvet. Ezért, hogy alkalmazkodjanak a példa szerinti Builder többé-kevésbé egy kezdő programozó dolgozni nem lesz.
Azonnal meg átnevezni a formában az Object Inspector frmMain (az ingatlan címe). A képaláírás tulajdonság (forma header) levelet „TACtionManager teszt alkalmazás”, vagy valami ilyesmi. Azt javaslom, hogy aztán könnyebb volt megkülönböztetni projektek ha hirtelen egy idő után visszatér hozzájuk, például. Hit menteni a projektet (Projekt mentése más néven ...), adja meg a nevét: write: ActionManTest. mint a fő formája fájl mentése az igénytelen neve Main.
Adjunk hozzá még egy akció - kilép a program. Ismét jobb klikk - kattints a legördülő menü Add normál cselekedet - és újra bankfiókban fájlt választhat TFileExit.
Úgy tűnt, a Fájl menüben. De mi, az orosz nyelvű, azt akarja, hogy az úgynevezett fájl. Tekintettel arra, hogy most már elérhető az Object Inspector, csak válassza ki az egérrel és ott átnevezni.
Zapsukaem munkáink és egy teljesen működőképes alkalmazás, amely képes megnyitni a fájlt (elméletben - legalábbis azt mutatják, a fájlmegnyitási párbeszédablak ... fizikailag bármilyen fájl, nem nyitható), és ki a click-programok révén a fő menü vagy eszköztár. És anélkül, hogy egyetlen sor kódot!
De mudornom címe ennek a cikknek én még mindig priplol TApplicationEvents. Milyen állat ez, és mi ez: ez a komponens felelős a kérelem feldolgozásáért rendszer események, nevezetesen: minimálisra ablakok, processzor tétlen helyreállítási kezelő, stb Különösen a mi esetünkben, hogy hasznos lesz a nagyon időzítés, amit említettem, a cikk címe.
Tegyük fel, hogy nem akarjuk, hogy a felhasználó meg tudja nyitni a fájlokat bármely ideig. Ehhez meg kell, hogy nem érhető el (mozgáskorlátozottak inkább Enabled :. = False) menüpontokat és eszköztár gombok a fájl megnyitására. Példa bizonnyal erőltetett. A gyakorlatban sokszor éppen ellenkezőleg, ments Save gombot (ha a fájl nem nyitható meg - nincs semmi menteni), vagy hozzáférést semmit (ha próbaverzió), stb Különben is, ez nem fontos, hogy megértsük a mechanizmus elveit. Fontos, hogy ne ezt az egészet kézzel, és töltse OnIdle felvezető ALKATRÉSZEK TApplicationEvents. Tehát, megnyitva a tulajdonságait, kattintson a lap események. létrehozásához OnIdle felvezető (dupla scholknem a megfelelő vonal előtt szükséges tulajdonságokkal nekünk). Most, demonstrációs célokra, szeretnék fájl megnyitható csak egy furcsa perccel az aktuális időt, vagyis az 1., 3., 5., stb és még felhasználói én megfosztották ezt az örömöt.
Írásban ilyen kód obrabotika:
MinuteOf függvény percek számát egy bizonyos ponton, a mi esetünkben most (ma). Ez a funkció bejelentett DateUtils modullal, így meg kell csatlakoztatni (írásban használ DateUtils; után azonnal a kulcsszó végrehajtását a kód) Páratlan függvény igaz értékkel tér vissza. ha ez egy furcsa érv. Így, a menüpontok és ikonok lesznek engedélyezni vagy tiltani attól függően, hogy nincs jelen most megy chotnaya perc rendszeridőt. Vegye figyelembe, hogy nem vagyunk utalva a Enabled tulajdonságát menüpont vagy eszköztár ikon, és nem is egy helyen - akcióban FileOpen1 Enabled tulajdonság. Ez működik, mert a menü és eszköztár van egy közös elem action = FileOpen1.
Fut a teszt alkalmazása és néhány percig, majd nézd meg (azaz az Open menüpontot és eszköztár), akkor a rendszer órát (alapértelmezés szerint a jobb alsó sarokban). És látjuk, hogy amint eljön chotnaya perc, ezeket az elemeket tilos, és fordítva. Ez annak köszönhető, hogy a felvezető OnIdle TApplicationEvents alkatrészeket.
Természetesen a gyakorlatban, a felvezető íródnak át az igazi. Naprmer ha a fájl megnyitásakor és változott, akkor válnak elérhetővé, hogy válasszon a Mentés és Mentés másként ... menü stb