HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Komponens oldalarány megtartása átméretezéskor


Példaprogram letöltése

5131 bájt

Bizonyos vizuális komponenseknél fontos lehet, hogy az átméretezéskor az oldalak aránya ne változzon, például a szélesség és magasság mindig megegyezik. Ebben a példában megnézzük, hogy hogyan lehet ezt megoldani.

A mellékelt példaprogram megnyitása előtt a SquareControl.pas-ban lévő komponenst telepítenie kell a Delphi alá.
A feladatban egy olyan komponenst készítünk a TCustomControl osztályból származtatva, amelynek szélessége és magassága minden esetben meg kell, hogy egyezzen. Ebben az esetben felmerülhet néhány kérdés, például hogy melyik méret lesz a mérvadó, vagyis melyikhez igazítjuk a másikat. Erre valószínűleg az alábbi szabályok alkalmazása tűnik a legmegfelelőbb megoldásnak:
  • ha csak a szélességet változtatjuk, akkor a magasságot a beállított szélességre módosítja;
  • ha csak a magasságot változtatjuk, akkor a szélességet a beállított magasságra módosítja;
  • ha mindkét irányban változik a méret, akkor a nagyobb változtatás lesz a mérvadó.
Hogy a méretváltozás mértékét ellenőrizni tudjuk, nyilván az előző méretet el kell tárolni. Ehhez egy globális változót használunk (FSize). Mivel esetünkben a szélesség és magasság megegyezik, elég egy változó, viszont ha az oldalak aránya nem 1:1, akkor két változó kell, és a méretváltozás mértékét nem pixelben, hanem százalékban kell összehasonlítani.
Az ellenőrzést legcélszerűbb a Resize eljárásban elvégezni, mivel ez mindig automatikusan meghívódik, amikor a komponens mérete megváltozik.

Cikksorozat

#IDKategóriaCikk címeSorozat
1018DelphiVonalkód készítő komponens1. rész
1028DelphiVonalkód nyomtatása a QuickReport-al2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 121. 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 |