如何改變Tab Control的顏色

2021-05-24 23:36:50 字數 719 閱讀 1705

蒐羅了一下,還沒有發現完整的描述資料,這裡簡單描述一下自己摸索的思路。

要改變tab control的顏色,首先了解tab control的組成:tab頁頭,tab頁和背景。所以需要同時改變這三個部分顏色,才能達到目的。

1)改變tab頁頭的顏色

這部分可參考msdn的資料,這裡不再重複。

how to change the background color of a tab control

2)改變tab頁的顏色

這裡其實就是改變tan頁對應的對話方塊的顏色。網上有很多資料介紹,就是把tab頁面對應的對話方塊類過載onctlcolor()函式,在函式中返回乙個對應顏色的刷子。例如:

hbrush ctab1dialog::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)

3)改變tab control背景的顏色(這個部分花了我好幾個小時,自己mfc不熟)

需要自定義乙個cmytabctrl類,繼承ctabctrl,對映onerasebkgnd()函式,在函式中填充客戶區

// calc total tab width

crect rclient

getclientrect(rclient);

pdc->fillsolidrect(&rclient,rgb(218,128,128));

ownerdraw tab controls - borders and all

如何使用Tab Control

假如我現在有個sdi程式,view是form view,想在上面放個tab control,包含兩個page。現在讓我們來看看應該怎樣處理。首先當然要增加乙個tab control資源,然後利用class wizard,在view中增加乙個control變數。接著建立兩個對話方塊資源,別忘了把sty...

c 如何隱藏TabControl控制項的標籤

方法一 將標籤縮小到機會看不到 設定頁面的大小模式會自動適合 會盡量占有空間 將標籤 item 的大小設定為最小 無寬度,高度為1 tabcontrol.sizemode tabsizemode.fixed tabcontrol.itemsize new size 0,1 感謝 lzhiqiu 知秋...

關於TabControl的Trigger 專案

我有乙個tabcontrol tabcontrol x name toolsystemsection grid.row 4 contenttemplate issynchronizedwithcurrentitem true itemcontainerstyle itemssource style ...