在.h头文件里声明一个方法RefreshControl()
void RefreshControl(UINT uCtlID);
在.cpp创建void xxxxDlg::RefreshControl(UINT uCtlID)
void xxxxDlg::RefreshControl(UINT uCtlID)
{
CRect rc;
GetDlgItem(uCtlID)->GetWindowRect(&rc);
ScreenToClient(&rc);
InvalidateRect(rc);
UpdateWindow();
}
在void xxxxDlg::OnPaint()方法中添加代码刷新界面
void xxxxDlg::OnPaint()
{
if (IsIconic())
{
......
...
}
else
{//添加背景色
CRect rc;
GetClientRect(&rc);// 获取客户区
CPaintDC dc(this);
dc.FillSolidRect(&rc, RGB(64, 64, 64)); // 填充客户区颜色
CDialogEx::OnPaint();
}
}
由于背景为黑色,则需要将文本字体改为白色;
在类向导添加WM_CTCOLOR消息
在刚添加的OnCtlColor中加入代码
if (pWnd->GetDlgCtrlID() == 要改变颜色的文本控件ID)
{
pDC->SetBkMode(TRANSPARENT); //设置背景透明
pDC->SetTextColor(RGB(255, 255, 255));
return HBRUSH(GetStockObject(HOLLOW_BRUSH));
}