HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Szövegek méretének igazítása a képernyőmérethez


Példaprogram letöltése

10118 bájt

Weblapjaink tetszetősebb és testre szabottabb megjelenése érdekében, szövegeink esetén ügyelnünk kell arra, hogy mindenből annyi látszódjon, amennyire valóban szükség is van, sem több sem kevesebb. Ennek szellemében mutatunk be egy lehetőséget arra, hogy a szövegek hossza a kliens böngészőjének, vagyis az adott képernyő méreteinek figyelembe vételével lesz meghatározva, rugalmasan követve annak változásait.

Mellékelt példa megnyitása előtt szükséges egy AutoSizeText nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
Windows-os alkalmazásainkban ezt igen egyszerűen megoldhatjuk, hiszen a .NET számtalan grafikus lehetőséget biztosít. Webes alkalmazásainkban ehhez igénybe kell vegyük a DHTML nyelv képességeit.
A feladatban azt az esetet modelleztük, amikor a lapot két részre osztjuk egy tábla segítségével (annak két oszlopával), és minden rekord két cellájában egy lista egy-egy pontját helyeztük el. A cellákban egy-egy mondat található, melyeket úgy szeretnénk elhelyezni a lapon, hogy azokból csak annyi látszódjon, amennyi az adott rendelkezésre álló cellaterületen elfér, a többi mondatrész létezésére három pont utaljon, akár csak egy fájl kezelő két oszlopában (például a Windows Commander alkalmazásban). Valamint, ha a hasznos képernyőterület szélességében megváltozik, akkor változzon a mondat látható részének hossza is. Lássuk, hogy mit is kell tennünk ennek érdekében.
A mellékelt példában egy táblázat egyetlen rekordjának két cellájában helyeztük el azokat a <DIV> HTML elemeket, melyek a méretre szabandó mondatokat tartalmazzák. A mondatok azonosak, formázásuk több lépésben történik. Első lépésben a tábla attribútumait kell úgy megadnunk, hogy az kitöltse a képernyőt, vagyis nem égetjük be a szélesség adatokat.
<TABLE border="0" style="WIDTH: 100%;..." id="main">
Ezt tesszük a tábla adott celláinak esetében is:
<td id="column1" width="50%" height="30">
A cellákban elhelyezett DIV-ekben szerveroldali Label kontrolokat helyeztünk a lapra a szöveg tárolására. A DIV-ek esetén kalkuláljuk az adott székességet a képernyő méretei alapján. Ebben segít nekünk a DHTML, mely még azt is megspórolja nekünk, hogy egy JScript kódon belül kelljen meghívnunk a setExpression metódust, paraméterként megadva a beállítandó attribútum nevét és értékét, helyette az adott elem deklarációjában adhatjuk meg, hogy miből számolja a böngésző az adott méretet, amikor betölti az oldalunkat. A DIV elemek style attribútumának feltöltésekor a szélességadatot a következő módon adhatjuk meg:
<div class="jw" style="WIDTH:expression(document.body.clientWidth/2);...">
A számításnál a document.body objektum clientWidth property-jében kérdezhetjük le a képernyő aktuális méretére vonatkozó információkat.
Meg kell említenünk, hogy szövegeinket csak akkor tudjuk megfelelően formázni a feladatnak megfelelően, ha a DIV elemen belül a Label kontrolt egy <NOBR></NOBR> elempáros közé illesztjük, mely megakadályozza, hogy a szöveg sortöréssel jelenjen meg:
<DIV id=”...” ...>
  <NOBR>
    <asp:Label ...>
  </NOBR>
</DIV>
A szöveg aktuális hosszt figyelembe vevő megjelenítéséhez a DIV elemünket speciális módon formáznunk kell. A stílusra vonatkozó jellemzőket egy Default.css stílusállományban helyeztük el, melynek egyetlen, „d” osztálya tartalmazza a jellemzőket:
.d
{
  text-overflow: ellipsis; 
  overflow: hidden;
}
Ezt megadjuk a DIV CLASS attribútumában:
<DIV CLASS=”d” ...>
A böngésző méreteinek változtatásakor a méretadatok frissülnek, így a metódus az aktuális értékekkel dolgozhat, a szövegek látható része pedig rugalmasan követi ezeket a méretváltozásokat.

Cikksorozat

#IDKategóriaCikk címeSorozat
2535C#Oracle adatbázis-elérés alapjai1. rész
2546C#SQL utasítások végrehajtása2. rész
2557C#Tárolt eljárások és függvények fejlesztése3. rész
2565C#Csomagok fejlesztése4. rész
2573C#Adatbázis triggerek fejlesztése5. rész
2581C#Kivételek kezelése PL/SQL-ben6. rész
3276C#Kurzorok deklarálása PL/SQL-ben7. rész
3297C#Tömb adattípus létrehozása és kezelése PL/SQL-ben8. rész
3326C#Adatbevitel tömb-adattípussal rendelkező oszlopokba9. rész
3357C#Adattárolás beágyazott tábla-típusú oszlopokban10. rész
3388C#Adatok beszúrása beágyazott táblákba11. rész
3418C#Index létrehozása PL/SQL-ben12. rész
3444C#Szekvenciák használata13. rész
3488C#Adatok betöltése állományokból14. rész
1765DelphiOracle adatbázis-elérés alapjai15. rész
1774DelphiSQL utasítások végrehajtása16. rész
1784DelphiTárolt eljárások és függvények fejlesztése17. rész
1794DelphiCsomagok fejlesztése18. rész
1803DelphiAdatbázis triggerek fejlesztése19. rész
1815DelphiKivételek kezelése PL/SQL-ben20. rész
3256DelphiKurzorok deklarálása PL/SQL-ben21. rész
3287DelphiTömb adattípus létrehozása és kezelése PL/SQL-ben22. rész
3318DelphiAdatbevitel tömb-adattípussal rendelkező oszlopokba23. rész
3348DelphiAdattárolás beágyazott tábla típusú oszlopokban24. rész
3377DelphiAdatok beszúrása beágyazott táblákba25. rész
3408DelphiIndex létrehozása PL/SQL-ben26. rész
3436DelphiSzekvenciák használata27. rész
3467DelphiAdatok betöltése állományokból28. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 98. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |