wyj7485 发表于 2005-6-29 15:14:00

求教MenuItemFromPoint 的使用?

<TABLE cellSpacing=0 borderColorDark=#ffffff width="100%" borderColorLight=#808080 border=1>
<TBODY>
<TR>
<TD width="100%" colSpan=2>
求教MenuItemFromPoint 的使用:


Declare Function MenuItemFromPoint Lib "user32" Alias "MenuItemFromPoint" (ByVal hWnd As Long, ByVal hMenu As Long, ByVal ptScreen As POINTAPI) As Long

</TD></TR>
<TR>
<TD width="100%" colSpan=2>说明</TD></TR>
<TR>
<TD width="100%" colSpan=2>判断哪个菜单条目包含了屏幕上一个指定的点</TD></TR>
<TR>
<TD width="100%" colSpan=2>返回值</TD></TR>
<TR>
<TD width="100%" colSpan=2>Long,包含了指定点的条目的位置。如果没有菜单条目包含了指定的点,就返回-1</TD></TR>
<TR>
<TD width="100%" colSpan=2>参数表</TD></TR>
<TR>
<TD width="25%">参数</TD>
<TD width="75%">类型及说明</TD></TR>
<TR>
<TD width="25%">hWnd</TD>
<TD width="75%">Long,包含了指定菜单的那个窗口的句柄</TD></TR>
<TR>
<TD width="25%">hMenu</TD>
<TD width="75%">Long,菜单句柄</TD></TR>
<TR>
<TD width="25%">ptScreen</TD>
<TD width="75%"><A href="mk:@MSITStore:H:\vbapi.chm::/POINTAPI.htm" target="_blank" ><FONT color=#000000>POINTAPI</FONT></A>,点的位置。如hMenu是一个顶级菜单条,这个点就用hWnd窗口的窗口坐标表示。否则,它采用窗口的客户区坐标表示</TD></TR></TBODY></TABLE>
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long               


1,


Public Type POINTAPI<BR>x As Long<BR>y As Long<BR>End Type


2,


Dim Pt As POINTAPI


GetCursorPos Pt


假设hWnd和hMenu已知,


调用MenuItemFromPoint                hWnd,hMenu,Pt 为什么不行?


是Pt 这个参数传递不对.提示:<FONT color=#f73809>用户定义类型不能用ByVal传递.</FONT>


请问如何解决?
页: [1]
查看完整版本: 求教MenuItemFromPoint 的使用?