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
每隔两个字符就以冒号隔开。有网友知道怎么弄么。 展开
11:11:11:11:11:11
11:11:11:11:11:11
11:11:11:11:11:11
11:11:11:11:11:11
每隔两个字符就以冒号隔开。有网友知道怎么弄么。 展开
1个回答
展开全部
前面问过了吧,你的上一个问题,不显示和你如何格式化字符串无关,这是两个问题。
格式化的方法,你上一个问题中使用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调用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询