社区
界面
帖子详情
如何改变CStatic控件中字体的颜色?
xsx7677226
2003-08-22 10:25:39
又个CStatic控件,想在代码里改变显示字体的颜色,请问怎么做呢?
...全文
51
9
打赏
收藏
如何改变CStatic控件中字体的颜色?
又个CStatic控件,想在代码里改变显示字体的颜色,请问怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hellolwl
2003-08-25
打赏
举报
回复
Jeff的《MFC Windows 程序设计》上写得很好
hellolwl
2003-08-25
打赏
举报
回复
CColorStatic::CColorStatic()
{
m_clrText = RGB(0,0,0);
m_clrBack = ::GetSysColor(COLOR_3DFACE);
m_br.CreateSolidBrush(m_clrBack);
}
void CColorStatic::SetTextColor(COLORREF clrText)
{
m_clrText = clrText;
Invalidate();
}
void CColorStatic::SetBkColor(COLORREF clrBack)
{
m_clrBack = clrBack;
m_br.DeleteObject();
m_br.CreateSolidBrush(clrBack);
Invalidate();
}
HBRUSH CColorStatic::CtlColor(CDC* pDC, UINT nCtlColor)
{
pDC->SetTextColor(m_clrText);
pDC->SetBkColor(m_clrBack);
return (HBRUSH)m_br;
}
xsx7677226
2003-08-25
打赏
举报
回复
没人来看了吗?
xsx7677226
2003-08-22
打赏
举报
回复
to heweixing_77(何足道) 我试了你的方法,为什么要加上这句呢?为什么要选NULL_BRUSH?
return (HBRUSH)GetStockObject(NULL_BRUSH);
我的函数是这个样子:
HBRUSH CTeststaticcolorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID() == IDC_STATIC_HELLO)
pDC->SetTextColor(RGB(255,0,0));
if (pWnd->GetDlgCtrlID() == IDC_STATIC_HELLO3)
pDC->SetTextColor(RGB(255,54,0));
// TODO: Return a different brush if the default is not desired
return hbr;
}
请原谅我的罗嗦,再次感谢!
heweixing_77
2003-08-22
打赏
举报
回复
怎么找不到?
在Index项,Look for:OnCtlColor。
背景色setbkcolor不就OK了?
xsx7677226
2003-08-22
打赏
举报
回复
TO zhouyong0371(小周周) ,为什么要加上 if( nCtlColor == CTLCOLOR_STATIC )...
这句呢? 我试了,不加这句话效果一样,请为这个if表达式是什么意思呢?(我在MSDN里查不到CTLCOLOR_STATIC)
再次感谢!
xsx7677226
2003-08-22
打赏
举报
回复
let me check it out :)
zhouyong0371
2003-08-22
打赏
举报
回复
HBRUSH CSetColorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(255, 0, 0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
heweixing_77
2003-08-22
打赏
举报
回复
在对话框的OnCtlColor(...)函数里:
if(pWnd->GetDlgCtrlID()==IDC_STATIC_YOU)
{
pDC->SetTextColor(RGB(255, 0, 0));
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
可以
改变
字体
颜色
及背景色的
控件
C
Static
、CEdit
控件
可以
改变
字体
颜色
及背景色
mfc 自绘
控件
static
可改背景
颜色
字体
等
mfc本身的
static
控件
背景为灰色,影响整体效果。这个是自绘的
Static
控件
,可改背景
颜色
字体
等
C
Static
派生类
C
Static
控件
派生类,实现背景
颜色
,
字体
颜色
、内容、对齐、粗细、斜体、大小、下划线等,链接,
字体
闪烁,
控件
边框设置
Static
控件
封装类.zip
封装了一个类,基类是C
Static
,可
改变
字体
的大小背景
颜色
,不需要使用on_conlor即可,非常方便调用,例如m_lable_check_stat[road_num].SetBkColor(RGB(143, 143, 143)); 既可
改变
背景
颜色
重载静态文本
控件
C
Static
,支持背景贴图和透明,v1.2
//输入:clrText
字体
颜色
//输出:无 //注:内部已经刷新 void SetTextColor(COLORREF clrText); //功能:设置
字体
粗细 //输入:lfWeight粗细的数值,范围为0-1000,当为0时表示默认 //输出:无 //注:内部...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章