久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何充分?jǐn)U充VB功能

 barbarossia 2006-10-06
4,、如何充分?jǐn)U充VB功能
Visual Basic for Windowss3.0(簡(jiǎn)稱(chēng)VB)是目前開(kāi)發(fā)WINDOWS應(yīng)用軟件的最有效工具之一,,它綜合運(yùn)用了BAIC語(yǔ)言和新的
可視化設(shè)計(jì)工具,不僅功能強(qiáng)大,,而且簡(jiǎn)單易學(xué),。其次,VB具有事件驅(qū)動(dòng)的編程機(jī)制,,它充分利用WINDOWS圖形環(huán)境的特點(diǎn),,能
讓開(kāi)發(fā)人員快速地構(gòu)造強(qiáng)大的應(yīng)用程序。
那么在開(kāi)發(fā)VB應(yīng)用軟件時(shí),,如何充分地?cái)U(kuò)充VB的功能呢,?這就要求在不同的層次上要很好地利用VB最具威力和特色的部分:
●在函數(shù)層調(diào)用動(dòng)態(tài)鏈接庫(kù)。
●在控件層使用VBX,?!裨趹?yīng)用層執(zhí)行其他應(yīng)用程序。

一,、在函數(shù)層調(diào)用功能態(tài)鏈接庫(kù)(DLL)
WINDOWS操作系統(tǒng)實(shí)際上是由許多功能強(qiáng)大的動(dòng)態(tài)鏈接庫(kù)(DLL)組合而成,。VB考慮到有些工作超過(guò)自身語(yǔ)言所及的能力范圍,
所以提供了直接調(diào)用操作系統(tǒng)中這些DLL子程序的能力,。例如:在正常情況下,,窗口的控制菜單提供了七種功能:還原、移動(dòng),、
大小,、最小化、最大化,、關(guān)閉和切換,。而在實(shí)際應(yīng)用中,我們希望窗口按設(shè)計(jì)時(shí)的大小顯示,不允許用戶隨意改變窗口大小,,也
不允許切換到其他窗口,這就要求在設(shè)計(jì)時(shí)必須刪除控制菜單中除“移動(dòng)”和“關(guān)閉”選項(xiàng)以外的所有控制菜單項(xiàng),。要完成這一任務(wù),,
我們首先可把窗體的MaxButton屬性和MinButton屬性設(shè)置為False,不允許窗體最小化和最大化,,窗體也就不能還原,。然后再把
窗體的BorderSstyle屬性設(shè)置為1-Fixed Single或3-Fixed Double,不允許窗體改變大小,。但VB本身卻無(wú)法刪除“切換”
選項(xiàng)和兩條分隔線,。幸運(yùn)的是,通過(guò)調(diào)用WINDOWS DLL就很容易做到,。
通常,,要使用WINDOWS DLL,首先必須說(shuō)明要使用的DLL子程序,,我們可在兩個(gè)地方說(shuō)明所使用的DLL子程序,,即在全局模塊中
說(shuō)明,或者在窗體層的說(shuō)明部分中說(shuō)明,。其格式是:
Declare Sub子程序名Lib“庫(kù)名”[Alias“別名”][([參數(shù)])]
Declare Function子程序名Lib“庫(kù)名”[Aliass“別名”][([參數(shù)])][AS數(shù)據(jù)類(lèi)型]
第一種格式表示過(guò)程沒(méi)有返回值,,第二種格式表示過(guò)程返回一個(gè)值,該值可用于表達(dá)式中,,庫(kù)名如果用的是WINDOWS操作環(huán)境
(在System目錄下)中的庫(kù),,如“USER.EXE”,“KERNEL.EXE”或者“GDI.EXE”等,,就用此名作為庫(kù)名,。如果用的是其他來(lái)源的
DLL,則用包括路徑的文件名稱(chēng)(如:“C:\WINDOWS\BRUSH.DLL”),。別名(Alias)是允許另外使用別的名稱(chēng)來(lái)稱(chēng)呼子程序,,
尤其是當(dāng)外來(lái)子程序名與VB保留字相同時(shí),它就顯得特別有用,,參數(shù)指要被傳遞到子程序的參數(shù)值,,數(shù)據(jù)類(lèi)型指的是函數(shù)返回值的
數(shù)據(jù)類(lèi)型,它可能是Integer,,Long,,Single,Double,,Currency或String,。下面就是所要使用的DLL子程序的說(shuō)明:
Declare Function GetSystemMenu% Lib"User"(ByValhWnd%,ByValbRevert%)
Declare \function \RemoveMenu% Lib"User"(ByValhMenu%,ByValnPosition%,,ByValwFlags%)
當(dāng)說(shuō)明完DLL子程序后,,執(zhí)行DLL子程序的方法,就象在VB中執(zhí)行通用過(guò)程(函數(shù))一樣,。下面我們編寫(xiě)一個(gè)名為
Remove-Items-From-System的過(guò)程來(lái)完成上面例子中提到的功能,,過(guò)程中調(diào)用了上述說(shuō)明過(guò)的兩個(gè)DLL子程序:

Sub remove-Items-From-Sysmenu(A-Form As Form)
‘獲取窗體系統(tǒng)菜單句炳
HSysMenu=GetSystemMenu(A-Form.hWnd,0)
‘刪除除“移動(dòng)”和“關(guān)閉”外的所有菜單項(xiàng),, 刪除時(shí)必須從最后一個(gè)菜單項(xiàng)開(kāi)始
R=RemoveMenu(HSysMenu,,8,MF-BYPOSITION) ‘刪除切換
R=RemoveMenu(HSysMenu,,7,,MF-BYPOSITION) ‘刪除第一條分隔線
R=RemoveMenu(HSysMenu,5,,MF-BYPOSITION) ‘刪除第二條分隔線
End Sub

有了這個(gè)過(guò)程,,在任一窗體的Form-Load事件中加入下面一行代碼就可以刪除該窗體除“移動(dòng)”和“關(guān)閉”選項(xiàng)以外的所有控制菜單
項(xiàng):
Remove-Items-From-Sysmenu Me

二、在控件層使用VBX
VB功能強(qiáng)大的第二個(gè)部分是VBX的使用,,即其開(kāi)放及無(wú)限擴(kuò)增的特性,。雖然VB工具箱(ToolBox)已經(jīng)盡量將設(shè)計(jì)應(yīng)用軟件所需的
工具包括在內(nèi),但是,,為了不斷擴(kuò)充VB的功能,,VB提供了一套開(kāi)發(fā)工具(Custom Control Development Kit)供第三方開(kāi)發(fā)者
來(lái)設(shè)計(jì)所需要的控件。當(dāng)設(shè)計(jì)完控件文件后(其文件擴(kuò)展名為“.VBX”)可以從菜單“file”項(xiàng)下選“Add File...”命令,,結(jié)果畫(huà)面
上出現(xiàn)一個(gè)"Add File"對(duì)話框,,雙擊所需的VBX文件名即可將該VBX加入到VB中,這些控件裝入VB后,,VB會(huì)將這些外來(lái)控件加到
原有工具箱中,,與其他控件一起合并使用。正是因?yàn)橛辛诉@一技術(shù),,VB才能夠不斷發(fā)展,,使用VB編程也更為方便、迅速和有效,,這
是VB區(qū)別于其他程序開(kāi)發(fā)環(huán)境的主要特色之一,。自從VB推出以來(lái),第三方軟件公司設(shè)計(jì)了大量的新控件,,下面是開(kāi)發(fā)WINDOWS應(yīng)用
程序時(shí)幾個(gè)非常有用的VBX:

●三維控件Threed.vbx
它提供了包括命令按鈕,、復(fù)選框、單選鈕 ,、框架,、下推按鈕和面板在內(nèi)的六種三維控件,,使用這些控件可使窗體更具有立體感。
●圖形控件Graph.vbx
向圖形控件發(fā)送數(shù)據(jù)后,,圖形控件可繪制二維或三維餅圖,,、直方圖,、趨勢(shì)圖,,并且可以打印或拷貝到剪貼板上。
●通訊控件Mscomm.vbx
它提供了串行通訊的能力,,可用于串行端口之間傳送和接收數(shù)據(jù)。
●數(shù)據(jù)網(wǎng)格控件Truegrid.vbx
它既可以作為一般的數(shù)據(jù)顯示表格,,也可把一個(gè)數(shù)據(jù)庫(kù)和一個(gè)網(wǎng)格聯(lián)系起來(lái),,它是制作數(shù)據(jù)庫(kù)瀏覽器或數(shù)據(jù)顯示的理想工具。

二,、在應(yīng)用層執(zhí)行其他應(yīng)用程序
在編制復(fù)雜的大型軟件時(shí),,我們經(jīng)常會(huì)需要有一些功能相對(duì)獨(dú)立和完善的專(zhuān)用程序,如編輯程序,,而這些程序通常是通用和流行并
經(jīng)實(shí)踐檢驗(yàn)的,。如果由開(kāi)發(fā)者重新編制這些程序,不僅大大增加了程序工作量以及調(diào)試過(guò)程,,而且功能上很難比得上這些通用程序,。
顯然,如果我們能直接調(diào)用這些程序是最為理想的,。令人欣喜的是,,VB提供了一個(gè)可用來(lái)調(diào)用其他應(yīng)用程序的Shell函數(shù),使VB的
某些功能可直接由其他應(yīng)用程序來(lái)完成,,從而大大地減少了編程任務(wù),。
格式是Shell(命令字符串[,窗口類(lèi)型])
其中的命令字符串是欲執(zhí)行的應(yīng)用程序名,,可執(zhí)行文件的擴(kuò)展名只限于“.COM”,,“.EXE”,“.BAT”,,“.PIF”,,缺省擴(kuò)展名為.EXE
文件,窗口類(lèi)型是一整數(shù)值,,它對(duì)應(yīng)于程序執(zhí)行時(shí)的顯示窗口風(fēng)格,,是可選 的,共有下列5種選擇:
窗口類(lèi)型值
窗口類(lèi)型 1,,5,,9
正常窗口,具有指針 2
最小窗口,具有指針(缺?。?3
最大窗口,,具有指針 4,8
正常窗口,,不具指針 6,,7
最小窗口,不具指針
當(dāng)Shell函數(shù)成功地調(diào)用某一個(gè)應(yīng)用程序時(shí),,返回一個(gè)任務(wù)標(biāo)識(shí)(Task ID),,該ID表示正在執(zhí)行的程序的唯一標(biāo)識(shí)。
[例]
X=Shell("C:\WINDOWS\NOTEPAD.EXE",1)
該語(yǔ)句調(diào)用WINDOWS附件中的記事本NOTEPAD.EXE作為編輯程序來(lái)使用,,并返回1個(gè)ID值到X,。



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多