首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

请问编辑框控件的一个设计有关问题

2012-02-21 
请教编辑框控件的一个设计问题。编辑框有个特性不知道怎么用程序实现,想了半天,想不出来。就是要在这么一个

请教编辑框控件的一个设计问题。
编辑框有个特性不知道怎么用程序实现,想了半天,想不出来。


就是要在这么一个固定宽度的编辑框里,当字符串本身的长度大于编辑框的宽时,就使字符串和指示光标同时左移一段距离,腾出空间,使得可以续输入字符串。

我目前的编辑框的设计是这样的:
1:渲染编辑框的边框色

2:渲染编辑框的背景纹理或某用某个带透明的颜色值来渲染

3:渲染指示光标,当光标的位置超过编辑框的宽时,该指示光标不在移动。

3:分别渲染用输入法进行输入时的字符串、选字表、最终选定的字符串。或者直接由英文输入法输入的字符。
(这些字符串的RECT值的left,top值取自编辑框的left,top值,而宽高由DrawText()计算得出。)

有没有朋友可以给个思路,怎么来实现这么个特性?。。

[解决办法]
把多余的部分临时保存一下
[解决办法]
像素大小也记录一下呢
我没有做过,纯粹是想象的,呵呵:]
[解决办法]
str保存完整的字串,cur保存光标所在字符位置。
渲染时计算一个RECT用于把需要的字符画出来
[解决办法]
为什么不用unicode编码?UNICODE一个汉子跟一个英文字符的长度一样,用wchar_t
[解决办法]
wchar_t *str = L"A汉B字C";
int len = wcslen(str);
unicode可以支持所有国家的字符,每个字符的编码是唯一的。WINDOWS内核也是这种编码。总之用它好处多多,缺点是对于英文浪费空间。UTF-8可以解决这问题

热点排行