最近在實現乙個設定介面時用到了tabctrl,用系統自帶的控制項,碰到了乙個問題,在背景圖換成其他的顏色,這裡是指非color_3dface的顏色,比如背景換成淡藍色,我希望控制項的非tab的區域和非客戶區的區域顯示為背景一樣的顏色,但這在預設的控制項裡是做不到的。看了乙個codeproject裡的例子,此人通過處理wm_erasebkgnd訊息,補繪了控制項沒有繪製的部分做到了,而我用的是xp風格的控制項,這樣做好像還是沒有效果,煩啊!
如果重新定義乙個tabctrl,因工作量太大,得不償失,不到非用不可,一般不這樣做。
忽然我有了啟發,決定用設定控制項顯示區域的方法來去除那些沒有畫成和背景色一樣的區域,這樣就可以得到我想要的效果了。
具體**本人暫不貼出來,因為有一些特殊的處理,未對通用性***,本文只給出乙個方法,下面是前後的結果對比。
處理前的效果:
處理後的效果:
改變Push Button背景色
聞怡洋 01 9 12 下午 03 14 36 在windows中edit,staticbox的背景色都可以通過處理wm ctlcolor訊息來改變,但push button卻不行。唯一的方法是使用ownerdraw風格的按鈕。本文講述的方法是使用cbutton的派生類。class ccbutton...
ios改變tablecell背景色
最有效的解決方式是 使用 void tableview uitableview tableview willdisplaycell uitableviewcell cell forrowatindexpath nsindexpath indexpath 託管函式中定義cell的背景顏色值。注意 ce...
改變TreeView控制項的背景色
private declare function sendmessage lib user32 alias sendmessagea byval hwnd as long,byval wmsg as long,byval wparam as long,lparam as long as long p...