[ ltyy1 @ 15.02.2008. 22:33 ] @
Zelim da napravim klasu izvedenu iz TComboBox kojoj bi unapred bilo definisana sirina komponenete i to svojstvo bi trebalo da bude definisano kao privatno. Dakle dinamicki kreiram objekat i on ima definisano svojstvo Width (ili neko drugo) bez mogucnosti pristupa spolja. Kako to da izvedem?
[ viking13 @ 16.02.2008. 01:13 ] @
Citat:
ltyy1: Zelim da napravim klasu izvedenu iz TComboBox kojoj bi unapred bilo definisana sirina komponenete i to svojstvo bi trebalo da bude definisano kao privatno. Dakle dinamicki kreiram objekat i on ima definisano svojstvo Width (ili neko drugo) bez mogucnosti pristupa spolja. Kako to da izvedem?


Za takve akcije služe TCustomXXX komponente.

Nemoj da nasleđuješ TComboBox, nasledi TCustomComboBox.

Override-uj constructor i u njemu podesi šta i kako hoćeš.

Zatim dodaj samo one propertije koji ti trebaju.

Zaboravih.

Ako već hoćeš da čačkaš property koji je nasleđen iz neke starije klase, onda uradiš nešto ovako u svojoj klasi

property Width: Integer read FWidth;

[Ovu poruku je menjao viking13 dana 16.02.2008. u 02:26 GMT+1]
[ ltyy1 @ 16.02.2008. 19:13 ] @
Uspelo je

Hvala
[ ltyy1 @ 17.02.2008. 18:38 ] @
OK - sada imam drugi problem.
Hoću da napravim klasu u kojoj bih definisao dva ComboBox-a, njihove međusobne položaje, širinu, visinu i sl. Dakle, instanca te klase sadrži dva objekta sa svojim karakterisikama i međusobnim odnosima a položaj na formi se definiše svojstvima nove klase. Mislio sam da je jednostavno ali ne ide. ?
[ priki @ 18.02.2008. 10:40 ] @
zasto bi definisao tako explicitnu klasu

zasto ne napravis jednu klasu s jednim combobox-om,
stavis je na frejm, podesis potrebne propertije pri kreiranju
i onda taj frejm lepis bukvalno gde god hoces i podesavas sirinu, visinu ......