MFC中一种改变静态文本颜色的方法
2014-11-02 21:05
260 查看
步骤如下:
1、添加全局变量:
在.cpp文件中添加全局变量声明:
BYTE R,G,B;
2、手动添加OnCtlColor()函数
在.h文件中添加函数声明:
afx_msg HBRUSH OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor);
在.cpp文件中添加:
BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog)
...
ON_WM_CTLCOLOR()
...
END_MESSAGE_MAP()
//函数实现
HBRUSH CTestDlg::OnCtlColor(CDC* pDC,CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_STATIC)//控件ID
pDC->SetTextColor(RGB(R,G,B)); //设置颜色
return hbr;
}
3、在相应函数体中改变R,G,B的值,使文本颜色满足要求
如:
void CTestDlg::OnChangeTextColor()
{
SetDlgItemText(IDC_STATIC,"设备已连接");
R=0;
G=255;
B=0;
Invalidate(FALSE);//更新文本,文本"设备已连接”颜色变为绿色
}
1、添加全局变量:
在.cpp文件中添加全局变量声明:
BYTE R,G,B;
2、手动添加OnCtlColor()函数
在.h文件中添加函数声明:
afx_msg HBRUSH OnCtlColor(CDC*pDC, CWnd* pWnd, UINT nCtlColor);
在.cpp文件中添加:
BEGIN_MESSAGE_MAP(CDefinedViewDlg, CDialog)
...
ON_WM_CTLCOLOR()
...
END_MESSAGE_MAP()
//函数实现
HBRUSH CTestDlg::OnCtlColor(CDC* pDC,CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==IDC_STATIC)//控件ID
pDC->SetTextColor(RGB(R,G,B)); //设置颜色
return hbr;
}
3、在相应函数体中改变R,G,B的值,使文本颜色满足要求
如:
void CTestDlg::OnChangeTextColor()
{
SetDlgItemText(IDC_STATIC,"设备已连接");
R=0;
G=255;
B=0;
Invalidate(FALSE);//更新文本,文本"设备已连接”颜色变为绿色
}
相关文章推荐
- MFC中改变静态文本控件字体字号和颜色的方法
- 用MFC实现静态文本超链接的方法 及静态文本颜色
- 用MFC实现静态文本超链接的方法 及静态文本颜色
- MFC 在某些特定条件下改变控件内文本的颜色的方法
- MFC改变按钮的颜色,方法简单,实用
- MFC——设置静态文本 大小 字体格式 颜色
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC改变对话框中静态文本的字体大小
- MFC改变对话框中静态文本的字体大小
- 实现静态文本超链接的方法及静态文本颜色
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- int类型转换成字符串和字符串转换成int类型以及在MFC静态文本框显示数字的方式方法
- MFC操作——设置静态文本 大小 字体格式 颜色
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- 静态文本颜色背景改变示例源程序
- MFC中静态文本框透明的方法
- 用MFC实现静态文本超链接的方法
- MFC改变对话框中静态文本的字体大小
- 【转】用MFC实现静态文本超链接的方法