MFC中,文本编辑框里面字符串的显示格式设置问题

我想实现的操作是这样的,我在指定的文本框里面输入一个字符串,不论长短,比如"111111111111",然后文本框就显示成11:11:11:11:11:11。且在第12个... 我想实现的操作是这样的,我在指定的文本框里面输入一个字符串,不论长短,比如"111111111111",然后文本框就显示成11:11:11:11:11:11。且在第12个字符后自动换行。效果的话就是下面这样的:
11:11:11:11:11:11
11:11:11:11:11:11
11:11:11:11:11:11
11:11:11:11:11:11
每隔两个字符就以冒号隔开。有网友知道怎么弄么。
展开
 我来答
bhtzu
推荐于2016-11-30 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4225万
展开全部

前面问过了吧,你的上一个问题,不显示和你如何格式化字符串无关,这是两个问题。

格式化的方法,你上一个问题中使用Mid不是很好,占用了很多临时的变量。而且,你这个是MAC地址?如果确定是2位一个,那么还好办一些:

	CString str = "1234567891234567891234561";
TCHAR ch;
//GetDlgItem(IDC_EDIT1)->GetWindowText(str);
for(int i=2;i<str.GetLength();i+=3)
{
ch = str.GetAt(i);
if(ch==_T(':')||ch==_T('\n')) continue;
if(i%18==17)
str = str.Left(i) + _T('\n') + str.Right(str.GetLength()-i);
else
str = str.Left(i) + _T(':') + str.Right(str.GetLength()-i);
}
AfxMessageBox(str);
追问
还得在CString加个UpdateData(TRUE);不然响应出来的是空白的。刚试了,能成功。可以在你的基础上做些修改。非常感谢你哈,分分钟就解决问题了。
追答
这只是一个测试代码。
另外如果是SetWindowText不需要UpdateData调用。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式