版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、如何用VB6做控件 一、這話(huà)兒的由頭 說(shuō)起這用VB6做控件哎,是偶從事“挨踢”行業(yè)以來(lái)最糗的三件事兒之一。 這做控件的事兒,早就想學(xué),也學(xué)過(guò)N多回。 自從九六還是九七年,就一直想學(xué),也學(xué)過(guò)N多回。 偶介個(gè)二十多年的老程序員,夠糗滴吧! 這些年來(lái),為這事兒沒(méi)少煩心 眼瞅著,人家一初中、高中一愛(ài)好者,都玩得溜溜兒滴,俺這老幫子怎么就不靈呢? 說(shuō)來(lái)話(huà)長(zhǎng)。 這些年來(lái),為這事兒,偶買(mǎi)書(shū),就為只要粘上有這事兒的書(shū),就買(mǎi)。 買(mǎi)了五、六本兒,好幾百的銀子呢!哭??!淚都哭干了。哼。 這些書(shū),要不然就是說(shuō)個(gè)不明不白的例子,幾乎都是互相抄可俺需要滴東西,就是楞沒(méi)有?。?偶要什么?簡(jiǎn)單啊?就幾個(gè)問(wèn)題: 問(wèn)題一:制作一
2、個(gè)控件的基本過(guò)程簡(jiǎn)單說(shuō)吧,就是怎么著,怎么弄,怎么整,能搞出來(lái)一個(gè)叫OCX的標(biāo)準(zhǔn)控件,而且能放之四海皆好用。 這個(gè)東西,要比照著書(shū)做,做一個(gè)嘛用也沒(méi)有的控件,早就會(huì)了??梢砸鰝€(gè)真正有用的,就在下面這個(gè)問(wèn)題上卡住了。 問(wèn)題二:這控件的屬性偶自已定義來(lái)用的,特別屬于偶滴屬性怎么搞?怎么設(shè)定有幾個(gè)屬性,怎么設(shè)定屬性值,怎么取出屬性值這三個(gè)問(wèn)題,就楞沒(méi)找到一本書(shū)啊! 這個(gè)問(wèn)題,可是偶滴心結(jié)。 記得是VB3開(kāi)始,就可以搞控件,可必須通過(guò)什么“向?qū)А眮?lái)做。搞得好麻煩。一直沒(méi)搞懂。 這VB自制控件的屬性三問(wèn)題,就一直“遺傳”了偶小十年,成了個(gè)不大不小的心結(jié)。 今天,終于整成了。 這破微軟,就告訴咱怎么直接
3、自已敲代碼多簡(jiǎn)單,非得搞出許多“向?qū)А?,讓身為行家滴偶捆手綁腳缺德透頂了。您微軟想想,都玩自制控件了,有外行嗎?你有得著把這么簡(jiǎn)單的代碼操作,非用“向?qū)А苯o“藏”起來(lái),就楞不讓咱自已會(huì)用?。?問(wèn)題三:怎么生成控件和怎么發(fā)布使用控件 這不是問(wèn)題,自打一會(huì)用控件,第一件事就是試試加載不是微軟這強(qiáng)盜加流氓的東西做出來(lái)的控件。恨滴就是微軟,討厭滴就是微軟??墒牵际钦骐x不開(kāi)微軟啊。這些年所有東西,全是在微軟平臺(tái)上做和用滴哇哇良心與道德的失衡啊。 再說(shuō)偶滴另兩件糗事兒: (一)ASP編程 早年間,偶就算是精通HTML了吧,從Ver3.2起步的。 后來(lái),一學(xué)ASP,不難???一周搞定,基本成了個(gè)“小行家”了
4、吧。 可是,糗事兒來(lái)了偶就是沒(méi)法在網(wǎng)站上使用什么服務(wù)器端了,什么客戶(hù)端了反正,偶的ASP代碼,讓所有人看了都說(shuō):挺好,沒(méi)問(wèn)題! 可事兒絕在,我這ASP編的東西,在全世界任是誰(shuí)(當(dāng)然也是干ASP編程滴哥們兒)那兒,都能運(yùn)行得倍兒好可在我的機(jī)器上就是不執(zhí)行就是報(bào)錯(cuò)。 這事一整偶就是兩年半,偶楞是用不了ASP啊。 全世界的哥們兒都在納悶這小子腦子讓驢踢扁了這代碼沒(méi)事兒啊?他丫兒的怎么就說(shuō)不能運(yùn)行啊?我家的機(jī)器是真不能運(yùn)行啊。 。 這事兒,整滴偶,每過(guò)一兩個(gè)月,就強(qiáng)迫自已再重學(xué)全套ASP堅(jiān)持了。 兩年半以后,突然。 在書(shū)中一個(gè)不起眼兒的地方,看見(jiàn)了“HTTP:/”的說(shuō)法。 我滴媽啊調(diào)試ASP代碼需要在
5、前面加上這東西,電腦才會(huì)調(diào)用IIS服務(wù)。 敢情,全世界都知道這事兒,偶和哥們又全是打字飛快滴人。 他們?nèi)?xí)慣成自然,這么兩年半,偶就楞沒(méi)注意到我與他們的區(qū)別偶就是沒(méi)打HTTP:/。 為了這破事兒,偶曾經(jīng)懷疑過(guò)偶是不是老了,干不了編程了? (二)CSS技術(shù) 說(shuō)起來(lái)這不是什么復(fù)雜的東西。 想當(dāng)初,偶做的網(wǎng)站,要說(shuō)數(shù)據(jù)庫(kù)靈活使用,那是沒(méi)問(wèn)題的。 但是,偶做的網(wǎng)頁(yè)那叫一個(gè)難看整個(gè)一個(gè)“垮”字了解。 但是,偶知道CSS這東西???就想學(xué),想用。 結(jié)果,當(dāng)時(shí)買(mǎi)了一本DREAMWAVR的教材里,就有這個(gè)東西。 。 這下,可坑苦我了。 這書(shū)里,東一鋃頭,西一棒子,這CSS讓他丫整得七零八落滴。 。 要偶是新潮一
6、代做網(wǎng)頁(yè)滴就好了不問(wèn)為什么,會(huì)用一點(diǎn)兒是一點(diǎn)兒,怎么快怎么來(lái)。 可是偶這老幫子,要是沒(méi)整明白,學(xué)得沒(méi)條理沒(méi)體系,雞零狗碎滴學(xué)可就是身心兩方面對(duì)偶滴摧殘了。 這東西坑了我四、五年沒(méi)搞會(huì)整得我一哥們兒就說(shuō)不對(duì)啊,挺簡(jiǎn)單的事兒,你怎么了?你是故意的吧你不可能學(xué)不會(huì)這么簡(jiǎn)單的東西啊我還真搞不懂。 后來(lái),還是這哥們,過(guò)了好幾年,給偶一本大專(zhuān)教材。 這一看,沒(méi)把我氣死。用了不到半小時(shí)就看懂了。 這什么玩意兒?。刻?jiǎn)單了以后要提CSS,全世界都問(wèn)我吧。保證幾句話(huà)給說(shuō)清楚。這書(shū)里有一章專(zhuān)說(shuō)CSS,條理清楚、簡(jiǎn)明。幾眼就看明白了。 以上是三件偶這些年在“挨踢”技術(shù)上的三件大糗事兒。二、書(shū)歸正傳,如何用VB6做控
7、件 主要搞清如下幾個(gè)問(wèn)題: (一)制作一個(gè)控件的過(guò)程(這是核心問(wèn)題,別一堆兒細(xì)節(jié),結(jié)果整個(gè)事兒怎么辦都不知道。許多人有這個(gè)毛病。) (二)如何生成一個(gè)控件(把您的心血變成產(chǎn)品,而不是源代碼) (三)制作控件的幾個(gè)關(guān)鍵細(xì)節(jié) 如果利用已有控件? 如何為控件“增加”自已的屬性?有三個(gè)小問(wèn)題 如何在控件里保存屬性值 如何由用戶(hù)在外部設(shè)定屬性值 如何向用戶(hù)提供屬性值 如何使控件對(duì)“事件”有反應(yīng) 如何使控件具有初始化的能耐 那就齊活兒了。 下面,且順序問(wèn)題的方式簡(jiǎn)明描述。 問(wèn)題一:制作一個(gè)控件的過(guò)程 步驟一:“新建一個(gè)工程”時(shí),選擇“ActiveX控件”,而不是常用的“Exe文件”就行。搞定。 步驟二:就
8、跟普通VB編程一樣,往上放控件,編相關(guān)代碼。還再整點(diǎn)后面所說(shuō)的幾個(gè)關(guān)鍵細(xì)節(jié)。搞定。 步驟三:用“文件”菜單下的“生成XXXXXX.OCX”菜單項(xiàng),生成結(jié)果的OCX文件。搞定。 問(wèn)題二:如何生成一個(gè)控件(把您的心血變成產(chǎn)品,而不是源代碼)? 問(wèn)題了已經(jīng)說(shuō)明了。用“文件”菜單下的“生成XXXXXX.OCX”菜單項(xiàng),生成結(jié)果的OCX文件。搞定。 問(wèn)題三:如何利用已有的控件? 就在自制控件的界面(跟普通EXE工程的FORM界面沒(méi)區(qū)別),就把能用的控件玩了命的使勁往上擱就行。當(dāng)然,放完?yáng)|西別忘了配代碼。搞定。 問(wèn)題四:如何在控件里保存屬性 這個(gè)最簡(jiǎn)單。只要在控件的說(shuō)明部分里加上DIM語(yǔ)句來(lái)定義幾個(gè)變量就
9、行。搞定。 問(wèn)題五:如何由用戶(hù)在外部設(shè)定屬性值? 只要在代碼里,按下面這個(gè)形式寫(xiě)一下 Property Let 屬性名(ByVal New_Value As 類(lèi)型) 內(nèi)部某個(gè)變量名 =New_Value End Property 就成。搞定。 問(wèn)題六:如何向用戶(hù)提供屬性值 只要在代碼里,按下面這個(gè)形式寫(xiě)一下 Property Get 屬性名() As 類(lèi)型 屬性名 = 內(nèi)部某個(gè)變量名 End Property 就成。搞定。 問(wèn)題七:如何使控件對(duì)“事件”有反應(yīng) 就在自定義控件里,像平常編EXE工程一樣,對(duì)上在的各個(gè)東西,直接編寫(xiě)源代碼。 問(wèn)題八:如何使控件有初始化的能耐 只要在代碼里,按下面的形
10、式寫(xiě)一下 Private Sub 用戶(hù)自定義的控件名_Initialize() 隨便寫(xiě)上您想干的事兒的代碼。 End Sub 就成。搞定。三、一個(gè)實(shí)例 光說(shuō)不練嘴把式,光練不說(shuō)傻把式又說(shuō)又練真把式! 下面是偶為了示范自定義控件做的一個(gè)完整樣例 該控件,上面有兩個(gè)標(biāo)簽會(huì)顯示出一個(gè)X值,一個(gè)Y值正好一對(duì)坐標(biāo)。 用戶(hù)可以對(duì)這個(gè)控件的X和Y屬性進(jìn)行操作結(jié)果馬上會(huì)在控件上顯示出來(lái)。 制作步驟: (一)新建OCX工程 (二)在界面上放上兩個(gè)標(biāo)簽。一個(gè)叫Lx,一個(gè)叫Ly,用來(lái)顯示屬性值。 (三)然后在代碼里,寫(xiě)下如下代碼(里面都有注解)就成。Dim Xm As Integer 內(nèi)部自定義變量,將來(lái)就用來(lái)為屬
11、性X提供住房了Dim Ym As Integer 內(nèi)部自定義變量,將來(lái)就用來(lái)為屬性Y提供住房了Private Sub UserControl_Initialize() 控件初始化操作 LX.Caption =X= & Xm 在控件上顯示屬性X的值 Ly.Caption = Y= & Ym 在控件上顯示屬性Y的值End SubProperty Get X() As Integer 取出控件內(nèi)的值給“屬性” X = XmEndPropertyProperty Let X(ByVal New_X As Integer)把用戶(hù)寫(xiě)入的“屬性”值設(shè)置到OCX控件內(nèi)部值 Xm = New_X LX.Caption = X= &Xm 改變完X屬性住戶(hù),順手在控件界面上顯示一下End Property后面關(guān)于屬性Y注解就不用加了PropertyGet Y() As Integer Y = YmEnd PropertyProperty LetY(ByVal New_Y As Integer) Ym = New_Y Ly.Caption = Y=& Y
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 1.1 國(guó)家是什么(導(dǎo)學(xué)案) 高二政治 (統(tǒng)編版選擇性必修1)
- 印刷機(jī)械行業(yè)智能化發(fā)展的市場(chǎng)機(jī)遇分析考核試卷
- 2025年銷(xiāo)售傭金合同范本與業(yè)績(jī)激勵(lì)方案3篇
- 2025版木工行業(yè)培訓(xùn)與認(rèn)證服務(wù)合同范本4篇
- 2025年商業(yè)委托銷(xiāo)售協(xié)議
- 2025年合法住房公租房協(xié)議
- 二零二五年度駕校品牌推廣與市場(chǎng)拓展合作合同2篇
- 2025年度個(gè)人二手車(chē)轉(zhuǎn)讓及二手車(chē)增值服務(wù)合同3篇
- 二零二五年度林業(yè)苗木繁育基地承包合同4篇
- 二零二五年度集體產(chǎn)權(quán)房屋買(mǎi)賣(mài)合同樣本(含房屋產(chǎn)權(quán)調(diào)查及核實(shí)要求)
- 《醫(yī)院財(cái)務(wù)分析報(bào)告》課件
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè) 期末綜合卷(含答案)
- 2024中國(guó)汽車(chē)后市場(chǎng)年度發(fā)展報(bào)告
- 感染性腹瀉的護(hù)理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語(yǔ)教學(xué)課件(共7章)
- 廢鐵收購(gòu)廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測(cè)》課件
- 滬教版六年級(jí)數(shù)學(xué)下冊(cè)課件【全冊(cè)】
評(píng)論
0/150
提交評(píng)論