Tippek a multi-Resolution Delphi alkalmazásokhoz

Tervezéskor formák ban ben Delphi, gyakran hasznos a kód megírása, hogy az alkalmazás (űrlapok és minden objektum) lényegében azonos legyen, függetlenül attól, hogy mi a képernyőfelbontás.

Az első dolog, amelyet emlékeztetni kell az űrlaptervezés szakaszában, az az, hogy megengedi-e az űrlap méretezését, vagy sem. A nem méretezés előnye, hogy futás közben semmi sem változik. Ennek a hátránya, hogy nem méretezhető futás közben semmi sem változik (az űrlapod lehet, hogy túl kicsi vagy túl nagy ahhoz, hogy olvassa el bizonyos rendszereken, ha nem méretezik).

Ha nem fogja méretezni az űrlapot, állítsa be Pikkelyes hamisra. Egyébként állítsa a tulajdonságot True értékre. Is, állítsa be Automatikus görgetés hamisra: az ellenkezője azt jelentené, hogy az űrlap keretméretet nem változtatnánk futás közben, ami nem tűnik jól, ha az űrlap tartalma csinál méret megváltoztatása.

Fontos szempontok

Állítsa be az űrlap betűkészletét skálázható TrueType betűkészletre, például Arial. Csak az Arial ad betűtípust a kívánt magasság pixelén belül. Ha az alkalmazásban használt betűtípus nem telepítve van a célszámítógépre, akkor a Windows kiválaszt egy alternatív betűtípust ugyanabban a betűtípuscsaládban, amelyet használni szeretne helyette.

instagram viewer

Állítsa be az űrlapot Pozíció vagyon valami máshoz, mint poDesigned, amely elhagyja az űrlapot ott, ahol hagyta. Ez általában balra végződik egy 1280x1024 képernyős képernyőn, és teljesen a 640x480 képernyőn.

Ne töltse ki a vezérlőelemeket az űrlapon - hagyjon legalább 4 képpontot a vezérlők között, hogy egy szögletes helyek egy képpontos változása (méretezés miatt) ne jelenjen meg átfedő kontrollokként.

Egysoros címkékhez, amelyek vannak alLeft vagy rendben igazítva, beállítva Automatikus méret igazra. Ellenkező esetben állítsa be Automatikus méret hamisra.

Győződjön meg arról, hogy elegendő üres hely van a címkekomponensben a betűkészlet szélességének megváltoztatásához - ez egy üres hely, amely az aktuális hossz 25% -a húr a kijelző hossza egy kicsit túl sok, de biztonságos. Legalább 30% kiterjesztési helyre van szükség a karakterlánc-címkékhez, ha azt tervezi, hogy alkalmazását más nyelvekre fordítja. Ha Automatikus méret hamis, ügyeljen arra, hogy a címke szélességét ténylegesen beállította. Ha Automatikus méret igaz, győződjön meg arról, hogy van elég hely a címke önmagában történő termesztéséhez.

Több soros, szóba csomagolt címkéknél hagyjon legalább egy sort üres helyet az alján. Szükség van erre a túlcsordulás elkapásához, amikor a szöveg másképp fordul el, amikor a betűtípus szélessége változik méretezéssel. Ne gondold, hogy mivel nagy betűtípust használ, akkor nem kell megengednie a szöveg túlcsordulását - valakinek más nagy betűtípusa nagyobb lehet, mint a tiéd!

Vigyázzon, ha különféle felbontásokkal nyit meg egy projektet az IDE-ben. Az űrlap PixelsPerInch tulajdonság módosul, amint az űrlap megnyílik, és a projekt mentésekor elmentésre kerül a DFM-be. A legjobb, ha az alkalmazást önállóan futtatja, és csak egy felbontásban szerkesztheti az űrlapot. A változó felbontással és betűmérettel történő szerkesztés összetevők eltolódásával és méretezésével kapcsolatos problémákat vet fel. Győződjön meg arról, hogy beállította a PixelsPerInch minden űrlapra 120-ig. Alapértelmezésben 96, ami alacsonyabb felbontással okoz méretezési problémákat.

Az alkatrészek sodródásáról szólva ne változtassa át az űrlapot többször, a tervezési időpontban vagy az futásidejű. Minden átméretezés olyan kerek hibákat vezet be, amelyek nagyon gyorsan felhalmozódnak, mivel a koordináták szigorúan integráltak. Mivel a frakcionált mennyiségeket levágják a vezérlés eredetétől és méretétől az egyes egymást követő átméretezésekkel, úgy tűnik, hogy a kontrollok északnyugatra kúsznak és kisebbek lesznek. Ha azt akarja, hogy a felhasználók tetszőleges számú skálán átméretezzék az űrlapot, minden méretarányzás előtt kezdjék el frissen betöltött / létrehozott űrlappal, hogy a méretezési hibák ne halmozzanak fel.

Általában nem szükséges az űrlapokat valamelyik felbontásnál megtervezni, de alapvető fontosságú, hogy áttekintsék azok formáját megjelenés 640x480-as méretben nagy és kis betűtípusokkal, valamint nagy felbontású kis és nagy betűtípusokkal, megjelenés előtt az alkalmazásod. Ennek a rendszeres kompatibilitási tesztek ellenőrző listájának részét kell képeznie.

Nagyon figyeljen minden olyan elemre, amely lényegében egyvonalas TMemos-dolgok mint TDBLookupCombo. A Windows többsoros szerkesztési vezérlője mindig csak a teljes szövegsorokat jeleníti meg - ha a vezérlő túl rövid a betűkészletéhez, a TMemo egyáltalán semmit sem fog mutatni (a tSzerkesztés megjeleníti a kivágott szöveget). Az ilyen komponensekhez jobb, ha néhány pixel túl nagy, mint egy pixel túl kicsi, és egyáltalán nem jelenítenek meg szöveget.

Ne feledje, hogy az összes méretezés arányos a betűtípus magasságának különbségével a futási és a tervezési idő között, nem a pixel felbontása vagy a képernyő mérete. Ne feledje azt sem, hogy a vezérlőelemek eredete megváltozik, amikor az űrlap méretarányosul - nem igazán tudja nagyítani az összetevőket anélkül, hogy egy kicsit áthelyezné őket.

Horgonyok, igazítás és korlátozások: Harmadik fél VCL

Miután tudta, hogy milyen kérdéseket kell szem előtt tartania, amikor a Delphi képernyőket különböző képernyőfelbontásokra méretezi, készen állsz néhányra kódolás.

A Delphi 4-es vagy újabb verziójának használatakor számos tulajdonságot úgy terveztek, hogy segítsenek fenntartani a kezelőszervek kinézetét és elrendezését egy űrlapon.

Használat Igazítsa hogy egy vezérlőt igazítson az űrlap vagy a panel felső, bal, alsó vagy jobb oldalához, és ott maradjon, akkor is, ha az űrlapot, a panelt vagy az összetevőt, amely a vezérlőt tartalmazza, megváltozik. A szülő átméretezésekor az igazított vezérlő átméreteződik úgy is, hogy továbbra is a szülő felső, alsó, bal vagy jobb szélére terjedjen ki.

Használat Korlátok a vezérlőelem minimális és maximális szélességének és magasságának meghatározása. Ha a korlátozások tartalmaznak maximális vagy minimális értékeket, akkor a vezérlőt nem lehet átméretezni, hogy megsértse ezeket a korlátozásokat.

Használat Horgonyok annak biztosítása érdekében, hogy a vezérlő megtartja jelenlegi helyzetét a szülő széléhez képest, akkor is, ha a szülő átméretezett. Amikor a szülő átméretezése megtörténik, a vezérlő megtartja a helyzetét azokhoz a szélekhez képest, amelyekhez rögzítve van. Ha a vezérlő a szülő ellentétes széleire van rögzítve, akkor a vezérlés meghosszabbodik, ha a szülő átméreteződik.

eljárás ScaleForm
(F: TForm; Képernyő szélessége, Képernyő magassága: LongInt);
kezdődik
F.Méretezett: = Igaz;
F.AutoScroll: = Hamis;
F. Helyzet: = poScreenCenter;
F.Font. Név: = 'Arial';
if (képernyő. Szélesség <> képernyőszélesség), majd kezdődik
F.Height: =
LongInt (F.Height) * LongInt (képernyő. Magasság)
div ScreenHeight;
F.Szélesség: =
LongInt (F. szélesség) * LongInt (képernyő. Szélesség)
div Képernyő szélesség;
F.ScaleBy (képernyő. Szélesség, képernyőszélesség);
végén;
végén;