|
TComboBox legördülő listájának a mérete
|
|
Példaprogram letöltése
7021 bájt
|
Egy TComboBox komponens legördülő listájának a méretét egyszerűen meghatározhatjuk, csupán meg kell kérdeznünk az objektumtól ezt a méretet. Mivel viszont erre nincs lehetőségünk a Delphi TComboBox komponensen belül, ezért egy apró trükköt kell alkalmaznunk.
A példaprogramban arra is láthatunk megoldást, hogy hogyan tudjuk programból legördíteni a TComboBox listáját.
|
Egy TComboBox komponens legördülő listájának a méretét egyszerűen meghatározhatjuk, csupán meg kell kérdeznünk az objektumtól ezt a méretet. Mivel viszont erre nincs lehetőségünk a Delphi TComboBox komponensen belül, ezért egy apró trükköt kell alkalmaznunk.
A példaprogramban arra is láthatunk megoldást, hogy hogyan tudjuk programból legördíteni a TComboBox listáját.
Ha e komponensnek küldünk egy CB_GETDROPPEDCONTROLRECT üzenetet, akkor pontosan a kívánt méretet fogja szolgáltatni TRect típusban a képernyő koordinátákra vonatkoztatva.
Ezt az értéket viszont csak az első legördítés után tudja a komponens szolgáltatni. Ezért a program indításakor CB_SHOWDROPDOWN üzenetet elküldve legördítjük, majd rögtön vissza is csukjuk a listát. Ezek után már ki tudjuk olvasni a szükséges információt.
Mivel az adatokat a képernyő koordináta rendszerében kapjuk meg, ezért a felhasználásuk előtt azokat konvertálnunk kell az adott ablak koordináta rendszerébe. Ehhez a ScreenToClient függvényt tudjuk felhasználni.
A Form OnPaint eseményénél, mely minden olyan esetben létrejön, mikor a Form területét ki kell rajzolni, meg tudjuk jeleníteni a legördülő lista által elfoglalt terület körvonalát.
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 1999 évkönyv 69. 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!
|