用VB编写一个弹出菜单类

用VB编写一个弹出菜单类,第1张

用VB编写一个弹出菜单类,第2张

该类的名称是cPopupMenu

option Explicit
& acute;
私有类型点
x一样长
y一样长
结束类型
& acute;
私有常量MF_ENABLED = &H0&
私有常量MF_SEPARATOR = &H800&
私有常量MF_STRING = &H0&
私有常量TPM_RIGHTBUTTON = &H2&
私有常量TPM_LEFTALIGN = &H0&
私有常量TPM_NONOTIFY = &H80&
私有常量TPM _ return cmd = & H100 &[] ByVal wFlags为Long,ByVal x为Long,ByVal y为Long,ByVal nReserved为Long,ByVal hwnd为Long,nIgnored为Long)Long
私有声明函数destroy menu Lib " user 32 "(ByVal hMenu为Long)Long
私有声明函数GetCursorPos Lib " user 32 "(LP POINT为POINT)Long
私有声明函数GetForegroundWindow Lib " user 32 "()Long
私有声明函数GetMenuString ByVal wFlag As Long)
Long Private mSelMenuString As String
Public Property Get SelMenuString()As String
SelMenuString = mSelMenuString
End Property
& acute;
公共函数Popup(param array param())Long
Dim iMenu As Long
Dim hMenu As Long
Dim nmenu As POINT

&急性;获取当前光标在屏幕坐标中的位置

&急性;创建一个空的弹出菜单
hMenu = CreatePopupMenu()

&急性;确定param array
nMenus = 1+UBound(param)中的字符串数量

&急性;将iMenu = 1到nMenus
& acute;的每个字符串放在菜单
中AppendMenu函数已被insert menuitem
& acute;取代函数,但它更容易使用。
If Trim $(CStr(param(iMenu-1))= "-"那么
& acute;如果参数是单个破折号,则绘制分隔符
AppendMenu hMenu,MF_SEPARATOR,iMenu," "
Else
AppendMenu hme nu,MF_STRING + MF_ENABLED,iMenu,CStr(param(iMenu-1))
End If
Next iMenu

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 用VB编写一个弹出菜单类

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情