1. 程式人生 > >怎樣給Tab Control控制元件加上背景顏色或圖片

怎樣給Tab Control控制元件加上背景顏色或圖片

要知道對話方塊也算是一種控制元件,所以這個訊息功能很強大.

1.在選項卡1對話方塊中右鍵屬性->訊息->選擇WM_CTLCOLOR
如圖:

其中hbr是預設的畫刷,如果想改變對話方塊的背景顏色可以直接改變hbr即可.

HBRUSH hBrush = CreateSolidBrush(RGB(255, 255, 0));
    return hBrush;

2.選項卡2頁是同樣的方法

如果用點陣圖畫刷的就要麻煩一點,載入點陣圖畫刷有很多種方法.這裡就用簡單一點的CBitmap和CBrush.
先在標頭檔案定義出這兩個成員變數,然後在建構函式中載入點陣圖建立畫刷.

CPage2::CPage2(CWnd* pParent /*=NULL*/)
    : CDialogEx(IDD_PAGE2, pParent)
{
        m_bmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP));//載入資源中的點陣圖
    m_brush.CreatePatternBrush(&m_bmp);//建立點陣圖畫刷
}
HBRUSH CPage2::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialogEx::OnCtlColor
(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 // TODO: 如果預設的不是所需畫筆,則返回另一個畫筆 //HBITMAP hBmp =(HBITMAP)LoadImage(nullptr,) return m_brush; }

主對話方塊也是一樣的道理.這裡就不做演示了

效果如圖: