【笔记】MFC CStatic 控件一种文本内容修改及刷新控件的方式

直奔主题

1.下面函数是将CStatic控件Ctrl和文本内容strText作为输入,修改控件文本及刷新界面的函数

void CMyDlg::SetTextAndUpdate(CStatic& Ctrl, CString& strText)
{
	Ctrl.SetWindowText(strText);    //修改控件文本内容
	CRect staticRect;
	Ctrl.GetWindowRect(&staticRect);     //获取控件的坐标  
	InvalidateRect(&staticRect);        //重绘
}

----------------------------------------------------知识巩固----------------------------------------------------------------

  1. Ctrl.GetWindowRect(&staticRect);:通过调用Ctrl对象的GetWindowRect函数,获取静态文本控件的窗口矩形,并将结果保存在staticRect变量中。GetWindowRect函数返回的是控件相对于屏幕的矩形坐标。

  2. InvalidateRect(&staticRect)的作用是使指定区域(staticRect)无效,即需要重新绘制。当调用InvalidateRect函数时,系统会向窗口发送一个WM_PAINT消息,通知窗口进行重绘。

    在这行代码中,staticRect是一个用于表示控件的客户区矩形的变量。通过调用InvalidateRect(&staticRect),将控件的客户区矩形标记为无效,即需要重新绘制。这样,在下一次窗口绘制的时候,系统会调用窗口的OnPaint函数,进行相应的绘制操作。

--------------------------------------------------------------------------------------------------------------------------------

2.在需要修改文本时调用该函数即可,例如:

void CMyDlg::SetValue(double value)
{
	CString strTxt;
	strTxt.Format(_T("%.2f"), value);
	SetTextAndUpdate(你需要修改的CStatic类型控件, strTxt);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值