注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

DirectUI ?  

2011-02-20 18:11:36|  分类: vc界面编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
有人说,windows的控件不支持容器。而事实上,windows的控件也可以支持类似的功能,只不过实现方式不太一样,即子控件的方式。通过创建子控件,可以给任何控件添加各种复杂的子控件,设置是给子控件添加子对话框。

        另外,windows的任何控件都含有内置的滚动条,例如按钮。

        然而,由于windows控件本身设计得过于复杂,很多接口又没有暴露,所以,要实现完全的自绘或重绘,实现过程非常复杂。比如,编辑框控件。从窗口的角度,编辑框控件含有非客户区,这意味着编辑框控件可以有内置滚动条、边界区,理论上也可以有菜单栏和标题栏。所以,要完美地兼容windows自带编辑框控件的这些特性,是很难的。此外,编辑框控件还有编辑功能,这就涉及到另外一个功能,caret控件,而这方面的资料少之又少。另外,编辑框含有内置的右键菜单。

        windows控件的这些设计思想还是不错的,但是,随着各种新需求的出现,这些控件已经不能满足要求,于是,windows在.net中不断添加新控件。

        受C++编程思维影响,我在界面配置文件中引入C++的继承和重载的特性,使得界面配置可以更灵活。同时,对于任何控件,字体都是可以定制的。为了兼容windows控件的特性,同时又使配置文件格式简单,我把windows的各种控件都进行细化。然而,正是由于这种处理,使得界面配置文件很难应用到DirectUI界面中。

        DirectUI的一个特性就是界面和功能分离。其实,这本身就是一个极其理想化的思维。比如一个按钮,最初的文字是“启动”,点击后显示“停止”。这在DirectUI的配置文件中就很难实现了。当然了,可以通过javascript脚本实现。

 

我是在想,到底应该不应该使用DirectUI界面。想来想去,还是应该写一个简单的。不过,以后的界面设计会变得很复杂了。好在只是在自己的几个软件中使用,出了问题的话,修改起来也比较方便。

By:zhanyonhu

  评论这张
 
阅读(2384)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016