[ mrleKC @ 02.09.2005. 10:39 ] @
| pozdrav..
Pitanje vezano za kontrole u MFC-u...
Imam najobicniji Dialog na kojem su standardne kontrole...
Na koji bi nacin najjednostavnije promijenio boju pozadine nekog
buttona, da
boja nije ona njegova standardna vec npr. crvena...
Ili kako bi promijenio font za neki određeni EditBox na Dialogu...
Dal taj "neki" dio koda dolazi u OnPaint() funkciju??
Vidim da na netu iam klasa izvedenoh iz CButton klase koje imaju
funkcije za postavljanje pozadinske boje buttona, ali dali moze
nekako i bez toga..?
hvala |
[ itf @ 03.09.2005. 10:35 ] @
Nekim komponentama su javni članovi takvi da dopuštaju mijenjanje boje preko properties-a (npr CEdit komponenta). No to opet ovisi o programskom jeziku.
Ipak, nekim objektima NIJE moguće direktno promjeniti boju na takav način već se mora izvršiti nasljeđivanje (nadogradnja). Najbolji ti je za to primjer klasa CWindow koja promjenu boje realizira kroz funkciju OnPaint (Paint), zavisno o tipu prozora i programskom jeziku.
Znači, negdje se to može preko properties-a, a negdje baš moraš izvršiti nasljeđivanje. Preporučio bih ti eventualno da napraviš sam svoju gumb komponentu na osnovu par bitmapa. Samo joj dodaš da na OnLButtonUp -> SendMessage(id, WM_CLICK)... i komponenta će biti upotrebljiva.
[Ovu poruku je menjao itf dana 03.09.2005. u 13:02 GMT+1]
[ 3MAJ86 @ 03.09.2005. 11:05 ] @
boja kontrole se takodje mozhe promeniti pomotju CBrush objekta.
a shto se tiche promene fonta, za ceo dialog mozhesh promeniti font u dialog properties, i promena tje se odraziti i na sve textbox-ove u tom dialogu, a za menjanje fonta odredjene kontrole ti ponovo treba CFont objekat.
chitaj MSDN ima tamo lepo objashnjeno...
ako se ne snadjesh, napishi pa tju da nakuckam ovde
[ mrleKC @ 05.09.2005. 08:03 ] @
hvala :)
skuzio sam, nasao u MSDN primjercic upravo bas za to
pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.