一个ip包流量分析程序,截取的结果原本是在dos窗口显示的,现在我用MFC重做,要把结果在单文档的客户区显示出来,显示部分该怎么做?
感觉用TextOut做太难受了,对输入位置的设置等太不方便,有比较方便简洁的做法吗?原本的显示部分代码:for(pTemp = pHead; pTemp; pTemp = pTemp->pNext)
{
unsigned long dwSourTemp = pTemp->getSourIPAddr();
unsigned long dwDestTemp = pTemp->getDestIPAddr();
out << inet_ntoa(*(in_addr *)&(dwSourTemp)) << '\t';
out << inet_ntoa(*(in_addr *)&(dwDestTemp)) << '\t';
out << resetiosflags(ios::right) << setiosflags(ios::left)
<< setfill(' ') << setw(10) << pTemp->getProtocol_String()
<< resetiosflags(ios::left) << setiosflags(ios::right);
out << pTemp->getCount() << endl;
}
显示结果如下:
感觉用TextOut做太难受了,对输入位置的设置等太不方便,有比较方便简洁的做法吗?原本的显示部分代码:for(pTemp = pHead; pTemp; pTemp = pTemp->pNext)
{
unsigned long dwSourTemp = pTemp->getSourIPAddr();
unsigned long dwDestTemp = pTemp->getDestIPAddr();
out << inet_ntoa(*(in_addr *)&(dwSourTemp)) << '\t';
out << inet_ntoa(*(in_addr *)&(dwDestTemp)) << '\t';
out << resetiosflags(ios::right) << setiosflags(ios::left)
<< setfill(' ') << setw(10) << pTemp->getProtocol_String()
<< resetiosflags(ios::left) << setiosflags(ios::right);
out << pTemp->getCount() << endl;
}
显示结果如下:
并且功能不是太多
直接用对话框或者在单文档里面嵌入一个编辑器要不直接TextOut()
再添加下面的代码就可以把str里的内容显示到单文档界面上了 CEdit & EditCtrl=GetEditCtrl();
CString str;
EditCtrl.GetWindowText(str);
str+="is OK !!!!\r\n";
EditCtrl.SetWindowText(str);
上面的代码必须在CxxxView类里添加
要是想画图的话,默认的就好了;
想像对话框那样方便添加控件,基类用:CFormView