怎樣給Tab Control控制元件加上背景顏色或圖片
阿新 • • 發佈:2019-01-07
要知道對話方塊也算是一種控制元件,所以這個訊息功能很強大.
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;
}
主對話方塊也是一樣的道理.這裡就不做演示了
效果如圖: