南昌大学|中正论坛

 找回密码
 注册[30秒完成]
搜索
查看: 7073|回复: 4
打印 上一主题 下一主题

[软件] 开发底层控件原理

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-25 10:37:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们在开发应用程序的时候,用到的多是微软给的控件,要不就是第三方开发的控件。很多时候控件的功能不能达到我们的要求,一般的做法就是利用几个控件组合在一起拼成一个控件,但是这样做很不好,1性能上有影响2我们的写更多的所谓的无用代码来屏蔽那些我们不想要的功能。好啦废话就说到这里,解决办法就是开发一个自己的控件----有点难度
      方法利用微软的atl开发
      利用atl开发控件时可以基于mfc制作控件,这样的工作就会很简单,简单的东西就不在这里讲了。
      今天只讲原理,
      做控件需要注意哪些问题,首先是功能,然后就是利用场所,这里我要说句,我讨厌跨平台,什么开发出来的东西既能在windows上用,有能在linux上用,我感觉没必要,打个比方,我去买手机,我只要知道这个手机能够通话发短信就可以,没有必要知道这个手机还有其他什么功能,如果真的需要mp3,我完全可以自己再买个,手机上带的mp3功能无非是给手机涨身价,对客户没什么用处。还有就是用c开发出来的东西不可能像java那样绝对跨平台。理由不解释
      控件的利用场所:我们用c/c++作东西,不是因为他难或者使用它做出来东西就有成就感。关键在于他的速度快,如果是开发程序,我们使用的更多的还是vb等开发语言。这点大家不用担心,利用vc开发出来的东西能有在vb,.net平台上使用。
      实现: 一个控件需要哪些功能,如何去实现
      比方说控件上的文本信息,颜色,字体等,如果是基于mfc的话就很简单,借口已经做好。
      但是纯粹就是利用atl的话,这些功能我们只能自己去实现。这时你的知道怎么去绘制控件。
至少能认识HDC这个局并,并知道他的作用吧
      最后讲到的就是事件,比方说单击它会有什么发生,而且把这个接口暴露给用户,让用户自己去实现。
      今天就写这么多,以后有时间再接
2#
发表于 2007-5-1 22:19:53 | 只看该作者
你写的这些东西只有熟悉COM和ATL的人才看得懂吧
问一下,你有没有用过CSubclassWnd这个类,也是绘制皮肤子类化时常用的
3#
 楼主| 发表于 2007-6-15 12:52:48 | 只看该作者
你说的没错,但是当你懂得原理后,我个人经验告诉我不一定非得懂得这些东西的人才能开发控件。关键在于原理,只要知道事件的原理,我们完全可以脱离所谓的理论。这样才能达到创造的层次。否则就是生产
4#
发表于 2007-6-15 18:52:09 | 只看该作者
可不可以告诉一下你的联系方式,遇到问题好请教一下
5#
 楼主| 发表于 2007-6-22 21:36:04 | 只看该作者
好的
guvc@163.com
您需要登录后才可以回帖 登录 | 注册[30秒完成]

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|南昌大学论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-4-19 22:31 , Processed in 0.124194 second(s), 15 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表