发信人: winsy(鹰派)
整理人: winsy(2003-03-12 08:56:12), 站内信件
|
SetMenuDefaultItem
VB声明
Declare Function SetMenuDefaultItem Lib "user32" Alias "SetMenuDefaultItem" (ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPos As Long) As Long
说明
将一个菜单条目设为默认条目。这个条目会转换成双击菜单时执行的操作
返回值
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError
参数表
参数 类型及说明
hMenu Long,菜单句柄
uItem Long,欲设为默认菜单条目的一个条目的位置或菜单ID。如果为-1,表示清除当前的默认条目
fByPos Long,如uItem是条目的位置,就为TRUE;如果是菜单ID,就为FALSE
SetMenuItemBitmaps
VB声明
Declare Function SetMenuItemBitmaps Lib "user32" Alias "SetMenuItemBitmaps" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
说明
设置一幅特定位图,令其在指定的菜单条目中使用,代替标准的复选符号(√)。位图的大小必须与菜单复选符号的正确大小相符,这个正确大小可以由GetMenuCheckMarkDimensions函数获得
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hMenu Long,菜单句柄
nPosition Long,欲设置位图的一个菜单条目的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
wFlags Long,常数MF_BYCOMMAND或MF_BYPOSITION,取决于nPosition参数
hBitmapUnchecked Long,撤消复选时为菜单条目显示的一幅位图的句柄。如果为零,表示不在未复选状态下显示任何标志
hBitmapChecked Long,复选时为菜单条目显示的一幅位图的句柄。可设为零,表示复选时不显示任何标志。如两个位图句柄的值都是零,则为这个条目恢复使用默认复选位图
注解
使用的位图可能由多个条目共享。一旦不再需要,位图必须由应用程序清除,因为windows不能自动对它进行清除
SetMenuItemInfo
VB声明
Declare Function SetMenuItemInfo Lib "user32" Alias "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal bool As Boolean, lpcMenuItemInfo As MENUITEMINFO) As Long
说明
为一个菜单条目设置指定的信息,具体信息保存于MENUITEMINFO结构中
返回值
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError
参数表
参数 类型及说明
hMenu Long,菜单句柄
un Long,菜单条目的菜单ID或位置
bool Boolean,如un指定了条目的位置,就为TRUE;如指定的是菜单ID,就为FALSE
lpcMenuItemInfo MENUITEMINFO,用于设置目标菜单条目的特征
TrackPopupMenu, TrackPopupMenuBynum
VB声明
Declare Function TrackPopupMenu& Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, lprc As Rect)
Declare Function TrackPopupMenuBynum& Lib "user32" Alias "TrackPopupMenu" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Long)
说明
在屏幕的任意地方显示一个弹出式菜单
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hMenu Long,弹出式菜单的句柄
wFlags Long,位置标志和鼠标追踪标志的组合,见下表
位置标志 说明
TPM_CENTERALIGN 菜单在指定位置水平居中
TPM_LEFTALIGN 菜单的左侧置于水平x坐标处
TPM_RIGHTALIGN 菜单的右侧置于水平x坐标处
TPM_LEFTBUTTON 鼠标左键标准运作方式
TPM_RIGHTBUTTON 用鼠标右键进行菜单追踪
x,y Long,这个点指定了弹出式菜单在屏幕坐标系统中的位置
nReserved Long,未使用,设为零
hwnd Long,用于接收弹出式菜单命令的窗口的句柄。应该使用窗体的窗口句柄——窗体中有一个菜单能象弹出式菜单那样接收相同的命令ID集
lprc Rect,用屏幕坐标定义的一个矩形,如用户在这个矩形的范围内单击,则弹出式菜单不会关闭。如单击弹出式菜单之外的任何一个地方,则会关闭菜单。可以设为NULL
注解
用这个函数创建的菜单,菜单中的命令ID并不与vb期望的那些相符
TrackPopupMenuEx
VB声明
Declare Function TrackPopupMenuEx Lib "user32" Alias "TrackPopupMenuEx" (ByVal hMenu As Long, ByVal un As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal hWnd As Long, lpTPMParams As TPMPARAMS) As Long
说明
与TrackPopupMenu相似,只是它提供了额外的功能
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hMenu Long,弹出式菜单的句柄
un Long,定位标志和鼠标追踪标志的组合。参考TrackPopupMenu,另外还包括两个标志:TPM_HORIZONTAL或TPM_VERTICAL。参考lpTPMParams参数的说明
n1,n2 Long,定义了弹出式菜单位置的一个x,y点(n1,n2),用屏幕坐标表示
hWnd Long,用于接收弹出式菜单命令的窗口的句柄。应该使用特定窗体的窗口句柄,该窗体有一个菜单能够与弹出式菜单一样接收相同的命令ID集
lpTPMParams TPMPARAMS,指向一个TPMPARAMS结构的指针。这个结构包含了一个矩形,规定了不能由这个弹出式菜单覆盖的区域。如果在un参数中指定了TPM_HORIZONTAL标志,windows就会试着设置水平位置,将弹出式菜单垂直移到这个矩形的外部。如指定了TPM_VERTICAL,那么windows会试着水平移动弹出式菜单的位置
|
|