DirectUI之edit,输入想说爱你不容易!
2012-01-06 21:46
543 查看
DirectUI 模拟各控件有的比较简单比如按钮,有的却很麻烦!比如edit,
想象一下自己做一个edit所要面对的问题:
1:光标定位,
2:各种文字的标准操作,复制,剪切,粘贴....
3:文字的选择
4,文字的输入,这里肯定牵涉输入法问题
5.文字的越界自动排列,文字一旦超出显示区域范围,那么就需要对文字进行裁减.
那么如果处理呢?
1)好实现!一个timer就搞定了 定时显示输入图片即可
2)比较繁琐,但是技术上不存在难度,结合剪贴板操作还是比较容易的
3)很麻烦.需要根据鼠标坐标内部不断的进行判断Selstart,selend,然后画出选择区域,但是起码还能实现.
4)更麻烦.但是起码还是能实现的,.普通输入根据wm_char消息来获取,输入法的话,重点截获WM_IME_STARTCOMPOSITION,WM_IME_COMPOSITION,WM_IME_ENDCOMPOSITION还是能定位输入法位置的.
5)超麻烦,因为一旦文字超出区域那么就需要你对当前文字进行裁减,这个就会造成好几个问题,效率问题需要不断进行判断计算, 还会影响之前4个的处理
这个最烦!所以我暂时一旦超出就直接用3点大法伺候它!至于什么叫3点大法,估计地球人都知道!
老规矩再来个截图
想象一下自己做一个edit所要面对的问题:
1:光标定位,
2:各种文字的标准操作,复制,剪切,粘贴....
3:文字的选择
4,文字的输入,这里肯定牵涉输入法问题
5.文字的越界自动排列,文字一旦超出显示区域范围,那么就需要对文字进行裁减.
那么如果处理呢?
1)好实现!一个timer就搞定了 定时显示输入图片即可
2)比较繁琐,但是技术上不存在难度,结合剪贴板操作还是比较容易的
3)很麻烦.需要根据鼠标坐标内部不断的进行判断Selstart,selend,然后画出选择区域,但是起码还能实现.
4)更麻烦.但是起码还是能实现的,.普通输入根据wm_char消息来获取,输入法的话,重点截获WM_IME_STARTCOMPOSITION,WM_IME_COMPOSITION,WM_IME_ENDCOMPOSITION还是能定位输入法位置的.
5)超麻烦,因为一旦文字超出区域那么就需要你对当前文字进行裁减,这个就会造成好几个问题,效率问题需要不断进行判断计算, 还会影响之前4个的处理
这个最烦!所以我暂时一旦超出就直接用3点大法伺候它!至于什么叫3点大法,估计地球人都知道!
老规矩再来个截图
相关文章推荐
- Ghost版本XP想说爱你不容易
- Android 中在EditText中设置输入限制,使输入字符只可以为数字。
- EditText在代码中设置输入类型
- Android 开发之拦截EditText的输入内容,定制输入内容
- EditText限制输入长度和特殊字符
- EditBox输入时自动换行
- 关于限制edit控件中输入变量的类型的问题
- 号码归属地查询&设置中心(自定义组合控件)&震动器 &监听输入EditText(输入监听器TextWatcher)
- android 实现EditText输入,同步在TextView显示
- 【转载】Android---3种方式限制EditView输入字数
- Android EditText禁止输入空格和特殊字符
- 限定EditText只能输入数字
- Android:EditText输入中英文查找用户列表
- 在RecyclerView中有多个edittext防止条目过多时滑动recyclerview后edittext内输入内容混乱BUG解决
- edit中只能输入数字、小数点(只可以1个小数点)和负号+多个edit共用一个事件
- FMX下Edit只能输入数字
- 对EditText拓展完成输入内容分隔处理
- Edittext属性(2)之控制输入类型只能为数字和字母
- 关于EditText文本输入框输入类型的限制
- 限制EditText输入字符及其事件监听