當前位置:編程學習大全網 - 源碼下載 - vb原代碼求解釋功能,請進

vb原代碼求解釋功能,請進

MDIFormmain

Private Declare Function GetClientRect Lib "user32" (ByVal As Long, lpRect As RECT) As Long 'api函數聲明 GetClientRect作用是返回hwnd句柄窗體的RECT(也就是邊框的上下左右,大小之類,找不到合適詞解釋,呵呵)

Private Type RECT '定義RECT,沒辦法VB裏這個東西只能自己定義,聲明

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Sub aaa_Click() 'aaa的單機事件,可惜是空的

End Sub

Private Sub MDIForm_Resize() 'MDI主窗體改變大小的時候,如最大化,最小化,右下角拖拽等

'adjust form size which form in.

Dim ClientRect As RECT '定義RECT變量

GetClientRect Me.hwnd, ClientRect '得到當前窗口的矩形形狀,放到 ClientRect 裏保存,肯定是以後要用

FrmMenu.Move 0, 0, 15 * (ClientRect.Right - ClientRect.Left), 15 * (ClientRect.Bottom - ClientRect.Top) '把frmMenu窗體移到MDI內層的大小

15是由於vb裏默認下,假設顯示設置為800*600,實際的幀就是800*15,600*15,就是個比例關系,又不知道怎麽說好了!

FrmMenu.Visible = True '顯示FrmMenu

End Sub

類模塊

模塊6

Clsmenuitem

'下面申明了幾個類的成員!呵呵,居然都是公***的....

Public seq As Integer

Public caption As String

Public FormOrMenulist As Boolean

Public SubMenulist As ClsMenuList

Public LinkForm As Form

Private Sub Class_Initialize() '類初始化函數

End Sub

模塊7

Clsmenulist

下面申明了幾個類的成員,這次全私有了,暈

Private mvarFatherMenuList As ClsMenuList '局部復制

Private mvarTitle As String '局部復制

Private mvarMenuItemNumber As Integer '局部復制

Private mvarMenuItem(1 To 10) As ClsMenuItem '局部復制

Private mvarCurrentPos As Integer '局部復制

Public Sub IniMenuList(vTitle As String, vFatherMenulist As ClsMenuList) '壹個方法,看看就是得到某個私有成員,可以叫屬性吧呵呵

mvarTitle = vTitle

Set mvarFatherMenuList = vFatherMenulist

End Sub

Public Sub AddMenuItem(vCaption As String, vSeq As Integer, vLink As Variant) '還是方法............

mvarMenuItemNumber = mvarMenuItemNumber + 1

Set mvarMenuItem(mvarMenuItemNumber) = New ClsMenuItem

mvarMenuItem(mvarMenuItemNumber).caption = vCaption

mvarMenuItem(mvarMenuItemNumber).seq = mvarMenuItemNumber

If TypeOf vLink Is Form Then

mvarMenuItem(mvarMenuItemNumber).FormOrMenulist = False

Set mvarMenuItem(mvarMenuItemNumber).LinkForm = vLink

Else

mvarMenuItem(mvarMenuItemNumber).FormOrMenulist = True

Set mvarMenuItem(mvarMenuItemNumber).SubMenulist = vLink

End If

End Sub

Public Property Let CurrentPos(ByVal vData As Integer) '在 Class 塊中,聲明名稱、參數和代碼等,它們構成了賦值(設置)的 Property 過程的主體。

mvarCurrentPos = vData

End Property

Public Property Get CurrentPos() As Integer '在 Class 塊中,聲明構成用來取得(返回)的值的屬性過程的主體的名稱、參數和代碼。

CurrentPos = mvarCurrentPos

End Property

Public Property Get MenuItem(Index As Integer) As ClsMenuItem '在 Class 塊中,聲明構成用來取得(返回)的值的屬性過程的主體的名稱、參數和代碼。

Set MenuItem = mvarMenuItem(Index)

End Property

Public Property Get MenuItemNumber() As Integer 應該看的明白了吧

MenuItemNumber = mvarMenuItemNumber

End Property

Public Property Get Title() As String

Title = mvarTitle

End Property

Public Property Get FatherMenuList() As ClsMenuList

Set FatherMenuList = mvarFatherMenuList

End Property

Private Sub Class_Initialize() '類的初始化

mvarMenuItemNumber = 0

mvarCurrentPos = 1

End Sub

  • 上一篇:Dubbo之線程池設計
  • 下一篇:崇左網站源代碼
  • copyright 2024編程學習大全網