一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av
重慶醫(yī)科大學(xué)論壇
標(biāo)題:
開發(fā)底層控件原理
[打印本頁]
作者:
重新來過
時間:
2007-3-25 10:37
標(biāo)題:
開發(fā)底層控件原理
我們在開發(fā)應(yīng)用程序的時候,用到的多是微軟給的控件,要不就是第三方開發(fā)的控件。很多時候控件的功能不能達(dá)到我們的要求,一般的做法就是利用幾個控件組合在一起拼成一個控件,但是這樣做很不好,1性能上有影響2我們的寫更多的所謂的無用代碼來屏蔽那些我們不想要的功能。好啦廢話就說到這里,解決辦法就是開發(fā)一個自己的控件----有點難度
方法利用微軟的atl開發(fā)
利用atl開發(fā)控件時可以基于mfc制作控件,這樣的工作就會很簡單,簡單的東西就不在這里講了。
今天只講原理,
做控件需要注意哪些問題,首先是功能,然后就是利用場所,這里我要說句,我討厭跨平臺,什么開發(fā)出來的東西既能在windows上用,有能在linux上用,我感覺沒必要,打個比方,我去買手機,我只要知道這個手機能夠通話發(fā)短信就可以,沒有必要知道這個手機還有其他什么功能,如果真的需要mp3,我完全可以自己再買個,手機上帶的mp3功能無非是給手機漲身價,對客戶沒什么用處。還有就是用c開發(fā)出來的東西不可能像java那樣絕對跨平臺。理由不解釋
控件的利用場所:我們用c/c++作東西,不是因為他難或者使用它做出來東西就有成就感。關(guān)鍵在于他的速度快,如果是開發(fā)程序,我們使用的更多的還是vb等開發(fā)語言。這點大家不用擔(dān)心,利用vc開發(fā)出來的東西能有在vb,.net平臺上使用。
實現(xiàn): 一個控件需要哪些功能,如何去實現(xiàn)
比方說控件上的文本信息,顏色,字體等,如果是基于mfc的話就很簡單,借口已經(jīng)做好。
但是純粹就是利用atl的話,這些功能我們只能自己去實現(xiàn)。這時你的知道怎么去繪制控件。
至少能認(rèn)識HDC這個局并,并知道他的作用吧
最后講到的就是事件,比方說單擊它會有什么發(fā)生,而且把這個接口暴露給用戶,讓用戶自己去實現(xiàn)。
今天就寫這么多,以后有時間再接
作者:
iwxiaot
時間:
2007-5-1 22:19
你寫的這些東西只有熟悉COM和ATL的人才看得懂吧
問一下,你有沒有用過CSubclassWnd這個類,也是繪制皮膚子類化時常用的
作者:
重新來過
時間:
2007-6-15 12:52
你說的沒錯,但是當(dāng)你懂得原理后,我個人經(jīng)驗告訴我不一定非得懂得這些東西的人才能開發(fā)控件。關(guān)鍵在于原理,只要知道事件的原理,我們完全可以脫離所謂的理論。這樣才能達(dá)到創(chuàng)造的層次。否則就是生產(chǎn)
作者:
iwxiaot
時間:
2007-6-15 18:52
可不可以告訴一下你的聯(lián)系方式,遇到問題好請教一下
作者:
重新來過
時間:
2007-6-22 21:36
好的
guvc@163.com
歡迎光臨 重慶醫(yī)科大學(xué)論壇 (http://www.espacio12.com/)
Powered by Discuz! X3.4