どのようにTab Controlコントロールに背景色や写真を追加しますか?

2817 ワード

Tabコントロールにタブ(属性ページ)が追加されていない場合は、この記事を参照してください.http://blog.csdn.net/qq_18297675/articale/detail/50991413
ここで直接にタブを追加して背景色と画像を加えます.ここでWM_を使います.CTLCOLOORメッセージ、もし分からないなら、この文章を見てください.http://blog.csdn.net/qq_18297675/articale/detail/5104920
ダイアログがコントロールであることを知るには、このメッセージの機能が強いです.
1.タブ1画面で右クリックのプロパティ->メッセージ->WM_を選択します.CTLCOLOORは図のように:怎样给Tab Control控件加上背景颜色或图片_第1张图片の中でh brはデフォルトのブラシです.ダイアログの背景色を変えたいなら、直接にh brを変えてもいいです.
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;
}   
メインダイアログも同じです.ここではプレゼンテーションを行いません.
効果は図の通りです.怎样给Tab Control控件加上背景颜色或图片_第2张图片 怎样给Tab Control控件加上背景颜色或图片_第3张图片.