在ontimer函数中使用了setwindowtext,在编辑框中输出文本,导致gdi增长飞快,不知道如何处理,改用什么样的方式将字符串输入才能避免gdi增长
部分代码如下
void CFirstPage_Alarm::OnTimer(UINT_PTR nIDEvent)
{
if(nIDEvent==402)
{
str_edit.Empty();//编辑框中要显示的字符串
for(int i=0;i<iEvironCount;i++)
{
CString str_edit1;
CString str[4];
//str[0]=str[1]=str[2]=str[3]=_T("—");
str[0].Format("        ------          ");
str[1].Format("        ------          ");
str[2].Format("        ------          ");
str[3].Format("        ------          ");
if(temp[i]) str[0]=_T("        报警          ");
if(tran[i]) str[1]=_T("        报警          ");
if(vswr[i]) str[2]=_T("        报警          ");
if(elect[i]) str[3]=_T("        报警          ");
str_edit1.Format("%9d%s%s%s%s\r\n",i+1,str[0],str[1],str[2],str[3]);
str_edit+=str_edit1;
} m_edit_text.SetWindowText(str_edit);//m_edit_text为编辑框对象,就是这一句导致gdi增长
} CDialog::OnTimer(nIDEvent);
}