什么是Direct UI

似水流年__ 2010-03-23 02:00:56
经常看到做界面的说什么Direct UI,那么Direct UI到底是啥东东呢
...全文
1352 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamseyang 2010-03-29
  • 打赏
  • 举报
回复
mark,有空学习下!
公共马甲0315 2010-03-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fafa_cai 的回复:]

UIPower(www.uipower.com)的DirectUI 发布于2005年,意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板……
[/Quote]
这样说来,就是一种换肤技术啦?但是如果没有阻止父窗口默认方式绘图的话,那岂不是要重绘两次了?
公共马甲0315 2010-03-28
  • 打赏
  • 举报
回复
厉害呀,以前俺都没听说过的东西。呵呵长见识了
ziplj 2010-03-28
  • 打赏
  • 举报
回复
VC区活跃着不少各种界面库的作者 客服啊~~牛
ljluck7687 2010-03-28
  • 打赏
  • 举报
回复
learn and learn
似水流年__ 2010-03-28
  • 打赏
  • 举报
回复
是哦,一问个界面的问题,服务商都来啦,哈哈
psbeond 2010-03-27
  • 打赏
  • 举报
回复
把所有窗口都画到父窗口上感觉没什么意义。每个控件还得实现一遍。实现的再好, 也应该没有微软的稳定。其实每个mfc控件都可以深度定制, 实在不能定制,从CWnd派生写也没问题。别外,每个控件都有自己的HWND再容易对界面进行控制。即使程序被编译成exe,也可以控制控件的行为。这对后期写插件,汉化都比较方便。
zhouzhipen 2010-03-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vc_zsy 的回复:]
DIRECTX是一种应用程序接口,它可让以WINDOWS为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,DIRECT就是直接的意思,而后边的X则代表了很多的意思,从这一点上们就可以看出DIRECTX的出现就是为……
[/Quote]


DirectUI其实跟1楼说的DX没一点关系都没有,DirectUI是界面开发的一种技术,所有的控件都基于一个窗口绘制出来的.也就是说,一些控件不是使用WINDOWS提供的标准控件,.大多采用自绘直接在主窗口中绘制出来,没有相关的窗口句柄.
sjdev 2010-03-27
  • 打赏
  • 举报
回复
介绍很多了,其实就是microsoft一种界面开发技术.
海忠 2010-03-27
  • 打赏
  • 举报
回复
UIPower(www.uipower.com)的DirectUI 发布于2005年,意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP,Vista,Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messager等。
传统的window界面,是用户窗口(带Win32 Hwnd句柄)的层次排列,这种方式有很多局限性。目前的开发环境我们可以很快的使用win32控件构造出标准的干净的界面,但是我们同时也会立刻意识到如果用户想让界面更加漂亮,更加酷炫就比较麻烦。Windows控件提供的Custom-Draw(ListCtrl,ListBox)/Ower-Draw(Button,CheckBox,RadioBox)技术局限太多,基本上没有透明等效果支持,同时控件布局方面也没有很好地支持。
DirectUI界面库使用XML来描述界面风格,界面布局,使用脚本语言(如vbscript,javascript,lua)等来作为界面元素和程序逻辑的交互。从这方面来看,DirectUI界面库可以看成是一个微软WPF,mozilla XUL,或者Adobe的Flex,这些平台代表的应用程序的发展方向,同时也有很多相似的架构,比如多采用类似XML的方式描述定义界面,使用脚本语言(xul使用javascript,flex使用Action Script)来作为控制界面元素并和程序逻辑之间交互。DirectUI 界面库采用相似的设计,使用xml描述界面,同时使用javascript,或者vbscript来作为界面和逻辑的粘合。在控件设计方面,DirectUI界面库更多的融入了XUL,WPF,Flex等控件设计理念,并没有一味的照搬window标准控件,以期望其成为一款真正实用的界面库。
DirectUI好处在于可以很方便的构建高效,绚丽的,非常易于扩展的界面。国外如微软,国内如腾讯,百度等公司的客户端产品多采用这种方式来组织界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。 DirectUI 旨在满足客户端界面快速开发的需要,同时融入业界前沿的皮肤技术,为用户创建更加高效,专业的界面
DirectUI 主要特性:
 支持皮肤对象的布局
 支持皮肤脚本(JavaScript)控制,可以让界面与逻辑彻底分离
 支持bmp、png、jpg、gif、tga等图片格式
 支持多图层Alpha混合特效
 提供界面设计工具DirectUI Builder,支持拖拽式界面设计,让界面开发所见即所得
 开放式开发平台,所有控件均为插件方式管理,支持用户自定义控件开发,与DirectUI平台无缝兼容
 支持Windows平台所有的开发工具(VC++、VB6、VS.Net、PowerBuilder、Delphi、C++Builder、E语言)
 支持所有标准控件的换肤
 支持皮肤对象的导出与导入
 支持Windows主题导入,让标准界面皮肤的制作简单快捷
 让客户端代码简洁明了

二、文档中心:
http://www.uipower.com/DirectUIControlUserGuider/frames.html

三、DirectUIBuilder视频教程:
http://www.uipower.com/DirectUIBuilder/DirectUIBuilder.html

四、成功案例介绍:
DirectUI实施的典型项目如下:
盛大网络的P2P软件:PPNext
http://www.uipower.com/CaseDetails.php?id=38&arrayment=Vertical&curr_page=1

华为的企业通讯软件:eSpace
http://www.uipower.com/CaseDetails.php?id=37&arrayment=Vertical&curr_page=1

航天信息CMMB播放器:
http://www.uipower.com/CaseDetails.php?id=33&arrayment=Vertical&curr_page=1

台湾的著名学习软件:LiveDVD
http://www.uipower.com/CaseDetails.php?id=41&arrayment=Vertical&curr_page=1


oyljerry 2010-03-23
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100321/15/a93390d2-8022-4154-a019-1faa76bf5202.html?46709
VC_ZSY 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vc_zsy 的回复:]

http://www.codeproject.com/kb/miscctrl/jobwnd.aspx
[/Quote]
随便搜了个定义没看清楚给人BS了··郁闷,不过这个源码是正确的,LZ可以参考。
向立天 2010-03-23
  • 打赏
  • 举报
回复
首先
DirectUI和DirectX完全不是一个东西
然后
你可以看看百度百科
http://baike.baidu.com/view/3102587.htm?fr=ala0_1
Eleven 2010-03-23
  • 打赏
  • 举报
回复
google DirectUI一大把
VC_ZSY 2010-03-23
  • 打赏
  • 举报
回复
http://www.codeproject.com/kb/miscctrl/jobwnd.aspx
VC_ZSY 2010-03-23
  • 打赏
  • 举报
回复
DIRECTX是一种应用程序接口,它可让以WINDOWS为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,DIRECT就是直接的意思,而后边的X则代表了很多的意思,从这一点上们就可以看出DIRECTX的出现就是为了为众多软件提供直接服务的。
举个例子吧,骨灰级玩家(玩游戏比较长的)在DOS下玩游戏时,可不想们现在,安装上就可以玩了,他们往往首先要先设置声卡的品牌和型号,然后还要设置IRQ(中断)、I/O(输入于输出)、DMA(存取模式),如果哪项设置的不对,那么游戏声音就发不出来。这部分的设置不仅让玩家伤透脑筋,而且对游戏开发者来说就更头痛了,因为为了让游戏能够在众多电脑中正确运行,开发者必须在游戏制作之初,便需要把市面上所有声卡硬件数据都收集过来,然后根据不同的 API(应用编程接口)来写不同的驱动程序,这对于游戏制作公司来说,是很难完成的,所以说在当时多媒体游戏很少。微软正是看到了这个问题,为众厂家推出了一个共同的应用程序接口——DIRECTX,只要这个游戏是依照DIRECTX来开发的,不管你是什么显卡、声卡、统统都能玩,而且还能发挥更佳的效果。当然,前提是你的显卡、声卡的驱动程序也必须支持DIRECTX才行。
DIRECTX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。
显示部分担任图形处理的关键,分为DIRECT DRAW(DDRAW)和DIRECT 3D(D3D),前者主要负责2D图像加速。它包括很多方面:们播放MPG、DVD电影、看图、玩小游戏等等都是用的DDRAW,你可以把它理解成所有划线的部分都是用的DDRAW。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DIRECTX的DIRECT 3D。
声音部分中最主要的API是DIRECTSOUND,除了播放声音和处理混音之外,还加强了3D音效,并提供了录音功能。们前面所举的声卡兼容的例子,就是利用了DIRECTSOUND来解决的。
输入部分DIRECT INPUT可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
网络部分DIRECTPLAY主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TPC/IP,IPX,MODEM,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧