欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

VB技巧擴(kuò)展

VB技巧擴(kuò)展

更新時間:2022-05-14 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

     我們在設(shè)計一個VB窗體時, 常常放上許多控件, 為了使這些控件看上去整整齊齊,我們不得不設(shè)置一大堆Left、 Top、 Height、 Width屬性, 您是否已經(jīng)感到厭煩并想轉(zhuǎn)向Powerbuilder或 Delphi等別急, 讓我們現(xiàn)在就來擴(kuò)展一下VB的功能。  

VB4.0提供了一個新功能:Add-Ins, 利用這一功能我們就可以把自己的程序加到VB4的系統(tǒng)菜單Add-Ins里去, 作為VB的擴(kuò)展功能。 我們設(shè)計的程序?qū)⒕哂幸韵鹿δ埽?選取窗體上某些控件后, 通過菜單選取, 使它們大小相同、間距相同、邊緣對齊等等。有了這些功能,我們設(shè)計界面時就能節(jié)省大量時間,大大提高工作效率。限于篇幅,這里只介紹其中一個功能:使所選取控件從左到右大小相同。理解了這段程序,其它功能就很容易實現(xiàn)了。 首先建一個新項目:alignment.mark,不需要任何窗體,在Tools菜單里選Project Options, 將 Project Name設(shè)為\Exam”,將Start Mode設(shè)為Object Application后退出。然后在菜單Ins ert里選取ClassModule,建立一個新類,屬性設(shè)置如下:  

Name="HSizeAlign";Creatable=False;Public=True 輸入以下程序:  
Public VBInstance As Object ’當(dāng)前所運行的VB
Private TheseControls As Object
Private Control As Onject ’控件對象變量
Private AllHeight As Long
Private AllWidth As Long
Private MinLeft As Long ’標(biāo)記最左邊界值
Public Sub AfterClick()
MinLeft=99999 ’設(shè)一極大初值
Set ThereControls = VBInstance.ActiveProject.Ac - tiveForm.SelectedControlTemplates
For Each Control In TheseControls
If Control.Properties("Left")<MinLeft Then
AllHeight=Control.Properties("Height")
AllWidth=Control.Properties("Width")
MinLeft=Control.Properties("Left")
End If
Next
For Each Control In TheseControls
Control.Properties("Height")=AllHeight
Control.Properties("Width")=AllWidth
Next
End Sub

再定義一個新類,屬性設(shè)置如下:
Name="Alignment";Creatable=True;Public=True
Dim ThisInstance As Object
Dim HSizeAlignMenu As Object
Dim HSizeAlignHandler As New HSizeAlign
Dim HSizeConnectCookie As Long
Sub ConnectAddIn(VBInstance As Object)
’加入菜單項,進(jìn)行連接
Set ThisInstance=VBInstance
Set HSizeAlignMenu=ThisInstance.AddinMenu.
MenuItems.Add("HSize Alignment")
Set HSizeAlignHandler.VBInstance=ThisInstance
HSizeConnectCookie=HSizeAlignMenu.ConnectEvents
(HSizeAlignHandler)
End Sub
Sub DisconnectAddIn(Mode As Integer)
’解除連接,刪除菜單項
HSizeAlignMenu.DisconnectEvents HSizeConnect-Cookie
ThisInstance.AddinMenu.MenuItems.Remove HSizeAlignMenu
End Sub
再加入一個Module,輸入以下程序:
Declare Function WritePrivateProfileString Lib
"KERNEL"(ByVal AppName$,ByVal KeyName$,ByVal keydefault$,ByVal FileName$)
Declare Function GetPrivateProfileString Lib
"KERNEL"(ByVal AppName$,ByVal KeyName$,ByVal keydefault$,ByVal ReturnString$,By
Val NumBytes As Integer,ByVal FileName$)
’以上說明可用API Text Viewer拷貝
Sub Main()
Dim ReturnString As String
Section$="Add-Ins16"
ReturnString=String$(255,Chr$(0))
ErrCode=GetPrivateProfileString(Section$,
"Exam.Alignment","NotFound",ReturnString,Len(ReturnString)+1,"VB.INI")
If Left(ReturnString,InStr(ReturnString,Chr(0))-1)="NotFound"Then
ErrCode=WritePrivateProfileString%(Section$,"Exam.Alignment","0","VB.INI")
End If
End Sub

’Exam.Alignment里,\Exam”為項目名,\Alignment”為與Add-In菜單連接的類名。以上程序編譯運行后,在VB菜單Add-Ins里選取Add-In Manager,將彈出一對話框,選取Exam. Alignment后退出,Add-Ins菜單里就多了一項HSize Alignment;使用時先選取所需排列控件 ,然后選此菜單項即可。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 新昌县| 玛多县| 前郭尔| 宁国市| 荃湾区| 会同县| 柯坪县| 聂拉木县| 宜兰县| 鞍山市| 巫山县| 南川市| 揭阳市| 新田县| 化州市| 南陵县| 柳林县| 邯郸市| 通海县| 长宁县| 临武县| 辽源市| 广水市| 克拉玛依市| 叙永县| 灵台县| 晋州市| 绥江县| 于都县| 太原市| 杂多县| 汝南县| 简阳市| 樟树市| 集贤县| 佛坪县| 仙桃市| 驻马店市| 高雄县| 迭部县| 华蓥市|