vb原代码求解释功能,请进

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:25:13
模块5
MDIFormmain
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Sub aaa_Click()

End Sub

Private Sub MDIForm_Resize()
'adjust form size which form in.
Dim ClientRect As RECT
GetClientRect Me.hwnd, ClientRect
FrmMenu.Move 0, 0, 15 * (ClientRect.Right - ClientRect.Left), 15 * (ClientRect.Bottom - ClientRect.Top)
FrmMenu.Visible = True
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 Str

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
'下面申明了几个类