在程序中动态改变static text控件的caption值

方法1,给STATIC控件取个名字叫IDC_STATICTITLE
然后在ClassWizard中设定一个控件变量给它叫m_statictitle
然后用m_statictitle.SetWindowText("你要写的字串");updata(False);

方法2,给STATIC控件取个名字叫IDC_STATICTITLE
GetDlgItem(IDC_STATICTITLE)->SetWindowText(_T("你要写的字串"));updata(False);

方法3,给STATIC控件取个名字叫IDC_STATICTITLE
然后在ClassWizard中设定一个CString变量给它叫m_statictitle
然后用m_statictitle = "你要写的字串";updata(False);

方法4:

给STATIC控件取名IDC_STATIC1,SetDlgItemText(IDC_STATIC1,_T("你要写的字符串");



在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的背景色和字体

1 在对话框的类中添加两个变量:

CBrush m_brush;
CFont m_font;

在OnInitDialog()函数中添加:

// TODO: 在此添加额外的初始化代码
m_font.CreatePointFont(150,"华文行楷");
m_brush.CreateSolidBrush(RGB(0,255,0));

2 添加WM_CTLCOLOR 消息响应,添加的方法为:

<wbr><wbr><wbr><wbr> 在对话框类中声明:afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) ;</wbr></wbr></wbr></wbr>

<wbr><wbr><wbr> 在消息映射中添加: ON_WM_CTLCOLOR()</wbr></wbr></wbr>

<wbr><wbr><wbr><wbr> 如:</wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr> BEGIN_MESSAGE_MAP(CtestEnvDlg, CDialog)<br><wbr><wbr><wbr><wbr><wbr> ON_WM_CTLCOLOR()<br><wbr><wbr><wbr><wbr><wbr> //}}AFX_MSG_MAP<br><wbr><wbr><wbr><wbr><wbr> END_MESSAGE_MAP()</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

3 添加响应函数:

HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(m_yourStatic.m_hWnd == pWnd->m_hWnd)
{
<wbr><wbr> pDC-&gt;SetBkColor(RGB(0,255,0));<br><wbr><wbr> pDC-&gt;SelectObject(&amp;m_font);<br><wbr><wbr> return m_brush;<br> }<br> return hbr;<br> }</wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

这样就可以改变static text的颜色和字体了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值