Edit字符输入
(Edit的MAXLEN设置为8)Edit当中汉字输入占一个字符,那么不管是汉字还是英文字符只能输入8个,我想这样如果是汉字的话输入8个,如果是英文字符或者数字的话就输入16个(一个汉字占2个字符),这个该怎么处理呢?貌似CSDN有点小问题,帖子发布出去;
[解决办法]
那要中英文混合的,允许输入多少个?
[解决办法]
在Change事件中动态判断一下吧
[解决办法]
在Change里,或keypress,kenDown里判断
[解决办法]
C++Builder2010和bcb6的编码不同
bcb6 AnsiString 以字节为单位 一个汉字占2字节
C++Builder2010 UnicodeString 以字为单位
那可以Change里都转成WideString,超过的舍掉
如下:
//bcb6代码
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
WideString wstr=Edit1->Text;
if(wstr.Length()>8){
wstr.SetLength(8);
}
Edit1->Text=wstr;
}