vc設置控件顏色

下面的代碼設置 IDC_EDIT5控件的顏色

void CFdm::SetCtrlColor(CDC * pDC, RECT r, COLORREF clr)//設置控件的顏色
{
CBrush brush, *oldbrush;
CBitmap membitmap;
CDC memDC;
memDC.CreateCompatibleDC(pDC);
membitmap.CreateCompatibleBitmap(pDC, 100, 100);//創建兼容位圖
memDC.SelectObject(&membitmap);//長度都要小於等於這個數
brush.CreateSolidBrush(clr);//創建異常體顏色畫刷
oldbrush = memDC.SelectObject(&brush);
memDC.Rectangle(0, 0, 100, 100);//繪製背景塊
pDC->BitBlt(0, 0, r.right, r.bottom, &memDC, 0, 0, SRCCOPY);//貼圖
DeleteObject(membitmap);
DeleteObject(brush);
oldbrush->DeleteObject();
}

void CFdm::OnEnSetfocusEdit5()///設置控件的顏色
{
// TODO: 在此添加控件通知處理程序代碼
CColorDialog dlg;// = new CColorDialog;
GetDlgItem(IDC_BUTTON2)->SetFocus();
dlg.DoModal();
CDC *pDC = NULL;
RECT r;
m_cycr = dlg.GetColor();
GetDlgItem(IDC_EDIT5)->GetClientRect(&r);
pDC = GetDlgItem(IDC_EDIT5)->GetDC();
SetCtrlColor(pDC, r, m_cycr);
ReleaseDC(pDC);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章