以为以往的代码都是Ansic编码的,调用CEdit的SetLimitText方法,10个字符,那么就是5个汉字
从而达到对编辑输入的字数限制功能
但是到了Unicode模式下, 汉字跟字符都是占位2个字节,因此这时候,SetLimitText的限制就变成了TCHAR,汉字跟字符一般大了
这时候,为了保证10个字符or5个汉字,SetLimitText方法就没用了
替代方案:
- 处理CEdit控件的ON_EN_CHANGE
- GetWindowText取出当前文本
- CT2A把TCHAR换成CHAR
- 计算CHAR的长度,这里当10判断
- 取10个CA2T把CHAR再换回TCHAR
- SetWindowText