随笔-341  评论-2670  文章-0  trackbacks-0
    GacUI完成了文本框控件和列表控件。本着可以替换Template的原则开发的列表控件,ItemTemplate也是可以替换的。下面的Demo展示了运行时替换ItemTemplate的效果。GacUI的列表控件都是强制VirtualList的,因此数据跟数据的表现被分开处理。如果不使用默认提供的ItemTemplate的话,可以开发自己的ItemTemplate替换进去。







    在点击左边的列表的时候,右边的控件并不是重新创建的,仅仅替换了一个ItemTemplate。替换了之后,数据会立刻作用在新的ItemTemplate上面,并显示新的列表的样式。下面两个图是Direct2渲染的普通控件和文本框控件:





    Demo的代码可以在Vczh Library++3.0的Candidate\GUI\GUIDemo\GUIDemo.sln下找到。
posted on 2011-11-02 03:08 陈梓瀚(vczh) 阅读(2396) 评论(10)  编辑 收藏 引用 所属分类: GacUI

评论:
# re: GacUI完成文本框控件和列表控件 2011-11-02 03:55 | zhaoyg
膜拜  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-02 17:21 | 冷锋
有没有考虑对多点触摸的支持呢?  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-02 19:55 | 邱震钰(zblc)
期待Helper1.0  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-02 23:45 | 陈梓瀚(vczh)
@冷锋
等我拿到了设备,我就开始考虑它,现在没硬件条件,不过在设计上已经预留了一些余地了。  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-03 00:23 | 装配脑袋
怎么有些模糊。。是截图的效果问题吗  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-03 03:10 | 陈梓瀚(vczh)
@装配脑袋
有些是我开了抗锯齿,有些是因为jpg的问题。  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-03 20:32 | ooseven
richedittext控件才是真正的挑战  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-03 22:30 | 陈梓瀚(vczh)
@ooseven
经过多年的研究,这个已经没什么技术难题了。以前开发GUI犯的错误就是,我总觉得scrollbar一定要每一次输入都计算出一个精确的结果——后来发现这根本没必要。如果不这么干的话,性能一下子就上去了。

而在开发单字体多颜色文本框的时候,我发现只要把每一个字符的尺寸cache起来,剩下的性能都无敌高。  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-04 06:35 | ooseven
记得我第一次开发自己的编辑器的时候,花了两周的时间,为了支持语法着色与行号栏。开头走了弯路,想偷懒直接继承自CRichEditCtrl,但是,后来发现,要想达到我的效果,是不可能完成的任务,不得已只好自己做。做一个多行编辑器并不难,难的是要做一个支持任意字体、任意大小、任意颜色、并且可以插入图片的编辑器。这样的编辑器才能称为RichEdit,不然只能叫multiline edit
  回复  更多评论
  
# re: GacUI完成文本框控件和列表控件 2011-11-04 21:29 | 陈梓瀚(vczh)
@ooseven
说到底也是当你的richedit有几十上百M数据的时候怎么流畅运行而已啦,关键就是不要执着与精确计算滚动条的长度。排版和编辑什么的那都是小事。  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理