Delphi XE2 1
Itt ma eszembe jutott a WPF és a c FireMonkey. És hadd megbocsátani WPF szurkolók, de FireMonkey nekem úgy tűnt, egyszerűbb és kényelmesebb használat. Vannak, persze, és a problémák, de a problémák még mindig van ideje beszélgetni, de most csak nézd meg az a tény, hogy milyen lehetőségek vannak nyitva számunkra használatakor FireMonkey.
Elvileg hogy FireMonkey - leszármazottja a könyvtár VGScene KSDev, azt hiszem, sokan már tudom. Ha nem, akkor olvassa el az üzenetet az oldalon, ahol KSDev számolt be, hogy a szellemi tulajdon KSDev megszerzett Embarcaderón. Mit is mondhatnék? Azt hiszem, amit én nagyon örülök, hogy a fejlesztés a honfitárs találtam egy ilyen erős alkalmazás Embarcadero és hajtották végre a FireMonkey.
Ami a Delphi XE2. de most ráadásul egyszerű alkalmazások VCL alkalmazás vált elérhetővé számunkra a következő típusú alkalmazások:
- FireMonkey HD Application - 2D-alkalmazás
- FireMonkey 3D Alkalmazás - egy alkalmazás 3D-grafika
- FireMonkey HD iOS alkalmazás - 2D-alkalmazás iOS
- FireMonkey 3D iOS alkalmazás - 3D-alkalmazást iOS
Az alábbi egyszerű szabály „Nem tudom, hogyan kell dolgozni a 2D-grafika - nem piszkálni az orrát 3D”, úgy döntöttem, hogy először mi is a HD alkalmazás. És ha nincs meg a iPad (tartogatom csak neki =)), az alkalmazás létrehoz a Windows.
Így kezdődik Delphi XE2. hozzon létre egy új projektet: "File -> New -> FireMonkey HD Application". Minden, ami látható után azonnal új projekt létrehozásakor - ez egy kis változás a megjelenése a fő ablak a tervező, és első pillantásra egy kicsit más összetevőjének összetétele paletta. Azaz, ha létrehozunk egy VCL Application IDE így néz ki:
És amikor létrehoz egy FireMonkey HD alkalmazás - mint ez:
De ez csak első pillantásra. A valóságban azonban ez sokkal bonyolultabb, ha ásni mélyebbre. Például, ha úgy látja, a modult, amely tartalmazza a TButton osztályt VCL-alkalmazások, azt látjuk, Vcl.StdCtrls (vagy csak StdCtrls Delphi XE és alatt), és a leírás ugyanaz FireMonkey TButton már tartalmazza a FMX.Controls. És minden, ami egyesíti a két látszólag azonos gomb - ez csak a TComponent osztály szülő -, akkor minden mást. És ezeket a különbségeket úgy fogja érezni, azonnal, amint dobjon egy gombot az űrlapon, és nézd meg az Object Inspector.
FireMonkey képest a jó öreg VCL ad nekünk egy nagyságrenddel több lehetőséget, hogy dolgozzon ki egy szép felület, animációkat készíthetnek, stb
Itt például, hogy a szigorúbb TButton a gombot, és számolja fel, hogy mennyire kell írni a kódot, hogy, ha lebeg a kurzort a gomb megváltoztatja a magassága, és a kurzor után törlődik magasságával vissza az eredeti értékre, így az animáció lenne simább , egy kis késés? A probléma valóban egyszerű, de ahogy a mondás tartja, „az idő pénz -”, és azt szeretné, hogy az ilyen animációkat a lehető leggyorsabban. A FireMonkey megoldani ezt a problémát, akkor nem is kell írni ezt a kódot bármilyen - mindent meg lehet tenni az Object Inspector. Lásd.
1. Lépjen ki gombot a forma TButton.
2. lépés az Object Inspector, és megtalálja a magasság tulajdonság. Néha előfordulhat, hogy halad a tény, hogy az épület mellett van egy új ikon, jelezve, hogy az ingatlan lehet meghatározni semmilyen hatást, mint az Object Inspector'e megjelent kiválasztási lista, amelyből kiválaszthatja, hogy milyen típusú animáció:
3. Válassza ki a listából az első típusú animáció - „Új TFloatAnimation”, és állítsa be a következő animáció tulajdonságok Object Inspector:
Időtartam = 0,5
Enabled = True
Inverz = True
StartValue = 22
StopValue = 50
Trigger = IsMouseOver = true
TriggerInverse = IsMouseOver = false
4. F9 és csodálja az újonnan létrehozott animáció. Amikor az egér gombját a magassága a gombot folyamatosan változik, amíg eléri a 50 pixel, és miután a kurzor gombok magasság megtisztítják az azonos késleltetés visszaáll az eredeti értékre. És minden kódot. A gomb az alkalmazást futtató fog viselkedni, mint ez:
Először is, érdemes megjegyezni, hogy az összes ellenőrzések FireMonkey (FMX) - a konténerek, azaz FMX más komponens lehet integrálni. És ez a funkció FireMonkey könnyen látni, amikor egy „élő” gomb:
Itt létrehoztunk egy új gyermek a TButton alkatrész - animáció. Senki sem fogja tiltani, ha élni kíván és beilleszkedni TButton a gomb újabb feliratot formájában TLabel vagy akár TPaenel. Ilyen egy nagyszerű funkció.
Másodszor, ami a tulajdonságait az animációt. Animáció TFloatAnimation használhatja a következő tulajdonságokkal rendelkezik:
- AnimationType - határozza meg az animáció lejátszását.
- Reverzív - határozza meg, hogy az animáció lejátszásakor automatikusan az ellenkező irányba, ha az ingatlan értéke elérte a végső érték (StopValue)
- Delay - késleltetés másodpercben, amely után az animáció fog játszani
- Időtartam - hossza az animáció másodpercben.
- Interpoláció - az interpolációs kiszámításához használt közbenső értékek az ingatlanok. Egyszerű lineáris interpolációval elegendő animációk (itLinear)
- Inverz - meghatározza, hogy az animáció lejátssza az ellentétes irányba
- Loop - meghatározza, hogy az animáció van hurkolva.
- PropertyName - tulajdonság nevét, amelyre az alkalmazott animáció
StartFromCurrent - határozza meg, hogy az animáció lejátssza az aktuális érték a megadott tulajdonság vagy StartValue - StartValue és StopValue - kezdő és záró ingatlan értékét.
- Trigger - esemény, amely után az animáció megkezdődik
- TriggerInverse - olyan esemény, amely után az animáció kerül sor az ellenkező irányba.
- TFloatAnimation - ez a legelterjedtebb típusú FireMonkey animáció.
Animáció a szín kértem hurkolt, azaz Hurok ingatlan kitett Igaz, és a tulajdonságait a Trigger és TriggerInverse üresen maradt.
Emellett animáció, akkor is használhatja, és annak elemeit formájában különböző hatások, mint például blur, árnyékok, stb Például, az alábbi ábrán mutatja TCalloutRectangle elem eltakarja az árnyék hatás:
És még inkább - az effektusokat hozhat létre a különböző információk, =) Általában lehetőséget teremt egy szép felület és alkalmazások - súlya.
Tehát a következtetés néhány szó stílusokat. Mint látható a fenti hengerrel alkot úgy néz ki, hogy pontosan így mi láttuk a VCL. A Delphi XE2 VCL alkalmazások alkalmazás lesz elérhető stílusok testreszabható, például adja meg a Project menü - Beállítások - Alkalmazás - Megjelenési forma. A választás a stílus az alábbiak szerint:
Ahhoz, hogy töltse be az alapértelmezett stílust nyomja Load Default gombot. Most a szórakoztató része. Minden eleme a stílus a fa határozza meg a stílust, hogy bármely részét a komponens. Például a gomb stílusát megfelel buttonstyle eleme a háttér elem - backgroundstyle stb
4. A kívánt szín forma backgroundstyle fa és az Object Inspector változtatni a színét, mint a vörös.
5. Hit az Apply gombra, és nézd meg a formát a tervező:
Megadásához bármely elemének ő egyedi stílusa, meg kell határoznia a tulajdonságokat StyleLookup értéket. Például, akkor ugyanezt a stílust backgroundstyle gombokkal vagy akár saját egyedi kulcs elemeit használja alakzatok lapon elrendezések, animációk és hatásai a komponens palettán.
Összefoglalva azt mondhatjuk, hogy FireMonkey - egy meglehetősen kényelmes freymork a szép, informatív és felhasználóbarát alkalmazások - szeretnénk létrehozni ellenőrzések animáció, szeretne - effet, egy esemény, teljesen átrajzolja a stílus az alkatrészek, és így tovább. d. Ezzel együtt FireMonkey könnyen kezelhető - meg lehet építeni egy szép felület az alkalmazás anélkül, hogy egyetlen sor kódot (bár senki sem tiltja meg, ha azt szeretné, hogy - hogy nem ugyanaz az alkalmazás kód).
Nem fogok színlelni, és azt mondják, hogy a tanfolyam írom ezt a cikket, én is szembe néhány probléma a munka. Például nem mindig az első alkalom, hogy nyissa meg a tervező stílusban TStyleBook. Egy kicsit, de ennek ellenére jelen. Vagy abban az esetben, animáció nem sikerült akasztani rendesen a hatás TShadow animáció TFloatAnimation - szerű és animációs alkotások, de nem az esemény, de csak egy végtelenített üzemmódban. és egyéb problémák, amelyek találtak a fejlesztők írt blogok és fórumok. De ne felejtsük el, hogy FireMonkey nem teljesül, és 1 hónap, és ha a platform van szokva (és remélem), akkor a közeljövőben látni fogjuk frissítések és platform lesz még erősebb és könnyebben használható.