WM_CTLCOLOR設定控制元件設定背景和字型顏色
阿新 • • 發佈:2019-01-30
HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// 設定顯示字型
CFont * cFont=new CFont;
cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_SWISS,"Arial");
// 對特定的控制元件做修改
switch()
{
case CTLCOLOR_STATIC: //對所有靜態文字控制元件的設定
{
pDC->SetBkMode(TRANSPARENT);
//設定背景為透明
pDC->SetTextColor(RGB(255,255,0)); //設定字型顏色
pWnd->SetFont(cFont); //設定字型
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
//建立畫刷
return (HBRUSH) B; //返回畫刷控制代碼
}
case CTLCOLOR_EDIT: //對所有編輯框的設定
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,0));
pWnd->SetFont(cFont);
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
return (HBRUSH) B;
}
default:
return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
}
}
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// 設定顯示字型
CFont * cFont=new CFont;
cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH&FF_SWISS,"Arial");
// 對特定的控制元件做修改
switch()
{
case CTLCOLOR_STATIC: //對所有靜態文字控制元件的設定
{
pDC->SetBkMode(TRANSPARENT);
//設定背景為透明
pDC->SetTextColor(RGB(255,255,0)); //設定字型顏色
pWnd->SetFont(cFont); //設定字型
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
//建立畫刷
return (HBRUSH) B; //返回畫刷控制代碼
}
case CTLCOLOR_EDIT: //對所有編輯框的設定
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,0));
pWnd->SetFont(cFont);
HBRUSH B = CreateSolidBrush(RGB(125,125,255));
return (HBRUSH) B;
}
default:
return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
}
}