关于目前大家对DirectUI界面技术的误解

skinfeature 2008-05-27 11:36:36
好多人把DirectUI狂的很炫,甚至于要专门成为一门学术来进行研讨。其实,这样是给不是很懂控件开发的程序员们一种误解。熟悉windows开发的人都清楚。windows是消息驱动的,任何一个窗口。对话框,框架,甚至于按钮等全部是一个窗口。只要是窗口,就会有消息循环,有消息循环,就会接收并且可以处理大多数的windows消息。 比如,鼠标按下或者抬起会响应WM_LBUTTONDOWN WM_LBUTTONUP, 而如果要绘制内容(按钮的各种正常、按下、不可用状态),菜单的鼠标滑过、按下等等,所有的表现形式,必须在WM_PAINT 消息中,也就是 OnPaint处理函数中,进行绘制过程,c#,delphi等等语言都相同,无非就是封装的程度不同罢了。好多还不是很熟悉windows的程序开发人员一般会提出这样或那样的问题。为什么我绘制的图像一挡窗口就消失了。 读到这里您应该明白了。你不应该在OnPaint消息之外的任何地方进行绘制。否则当然会消失。 这里可能又有人会问了,那我想鼠标按下开始绘制矩形,鼠标移动后又绘制终点,难道不在这个时候绘制? 而要到OnPaint中绘制吗?感觉想不通。这个地方我希望入门的兄弟姐妹们好好思考一下。我们应该建立一个数据模型。比如任何业务处理中存储一些数据,而在绘制过程中(OnPaint)函数中来根据这些数据进行视觉表达。 至于DirectUI。和前面所讲的处理方式有所不同,说明白就是定义一些数据结构,来进行消息的处理与绘制过程。这些数据结构要定义好某个非窗口控制(按钮,滚动条等等)的显示区域,然后根据鼠标和键盘以及其他的一些需求来在预定的区域绘制不同的表现形式。至于DirectUI无非是注册了一个窗口类叫DirectUI罢了。并不是一种技术而已。我们其实接触这样的例子很多很多。全部的游戏内的窗口等都是。 我给大家具个例子。扑克牌的游戏大家一定都知道吧。鼠标点击某个扑克牌就会跳起火者出牌等。难道每一个扑克牌都是一个窗口??? 我们可以把扑克牌看成一个特殊的控制,比如按钮。鼠标移动到指定的区域,然后绘制相应的表现罢了。

这方面做得比较好的有 珠海优软 精灵画笔软件http://www.eusoftware.com/

这里还有一个例子 http://www.skinfeature.com/bbs/a/a.asp?B=3&ID=20

其他的类视的代码应该还比较多吧。大家可以baidu查找下载学习。


关于类视的问题的思考感觉还很多。比如究竟哪种语言厉害,今天C# 明天 JAVA 。 两日 struts,三天 Ibatis
其实我们的程序开发人员落入了一个误区,那种技术论其根本没有太大的本质区别, 而今天这个三刀,明日那个两斧,到头来一门都学不精。不知道我们考虑过没有,如果一直都用JAVA 一直都用 C++语言,不出来新的产品,那些厂商怎么来赚钱。所以,厂家都变着法子来宣传推崇自己的产品。至于我们,只能是受害者罢了。学好一门精髓,万事莫愁。

...全文
240 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
海忠 2010-03-18
  • 打赏
  • 举报
回复
我们公司开发这款产品:DirectUI 网站:http://www.directui.com

我公司的网站:http://www.uipower.com

下面是我们用DirectUI开发的案例:

中科大洋的产品:
http://www.uipower.com/userfiles/mam_01.jpg

江民杀毒软件产品:
http://www.uipower.com/userfiles/jiangmin_image.jpg

盛大PPNext产品:
http://www.uipower.com/userfiles/PPNext2.jpg
skinfeature 2008-06-28
  • 打赏
  • 举报
回复
除了广告就没有别的?
mrsnooping 2008-06-01
  • 打赏
  • 举报
回复
顶顶吧
skinfeature 2008-06-01
  • 打赏
  • 举报
回复
http://www.skinfeature.com/bbs/a/a.asp?B=3&ID=20
stivenjia 2008-05-28
  • 打赏
  • 举报
回复
我感觉应该是自己画的,那玩意也不是什么很高深的东西只不过看谁美工好罢了。
纯体力活
  • 打赏
  • 举报
回复
DirectUI
据说用的是DirectX处理流程和window窗口不大一样.
wangk 2008-05-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 KeSummer 的回复:]
怎么看也象是卖广告的...
[/Quote]

赞同。

搂主名字:skinfeature
所举的例子 http://www.skinfeature.com/bbs/a/a.asp?B=3&ID=20
KeSummer 2008-05-28
  • 打赏
  • 举报
回复
怎么看也象是卖广告的...
whtuling2006 2008-05-28
  • 打赏
  • 举报
回复
Up
skinfeature 2008-05-27
  • 打赏
  • 举报
回复
UP
skinfeature 2008-05-27
  • 打赏
  • 举报
回复
UP
ouyh12345 2008-05-27
  • 打赏
  • 举报
回复
up
skinfeature 2008-05-27
  • 打赏
  • 举报
回复
UP

15,979

社区成员

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

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