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点大法,估计地球人都知道!
老规矩再来个截图