Delphi - Képernyő méret és színmélység beállító komponens

forráskód letöltése
Ebben a példában egy olyan komponenst készítünk, melynek egyik property-ében felsoroljuk az adott monitorkártya által támogatott képernyő felbontásokat, míg egy másikban a lehetséges színek számát.

A komponens akár még fejlesztési időben is képes rá, hogy beállítsa e két property-ben választott értékeket, így könnyedén változtathatjuk a képernyő felbontását és annak színmélységét. A mellékelt példaprogram megnyitása előtt a DisplaySettings.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A komponens ScreenSize property-ében válassza ki a beállítani kívánt felbontás mértékét, majd ezután a ScreenBits property-ben a színmélységet. Ez utóbbinál megjelenő számokat úgy kell értelmezni, hogy 2 az X-ediken darabszámú színmélységet kér, ahol az X a property-nél kiválasztott szám.

Az értékek kiválasztása után az Execute eljárással, vagy szerkesztési időben egy dupla kattintással a komponensen beállítható a kért érték. Ekkor a komponens átváltja a monitor felbontását és színmélységét, majd megjelenít egy ablakot, melyben meg kell erősítenie, hogy megtartja-e az új beállítást vagy sem. Erre a választásra öt másodperce van, utána a komponens automatikusan visszaállítja az eredeti értéket.

Erre biztonsági okokból van szükség. Ha esetleg olyan értéket választana a property-ken keresztül, melyet a monitora nem támogat, akkor annak tartalma teljesen olvashatatlan lesz. Ilyenkor csak várjon öt másodpercet és a komponens visszaállítja az eredeti beállítást.