TrackPopupMenuEx和TrackPopupMenu窗口API有什么区别?

时间:2009-10-09 21:01:59

标签: vb6 windows-xp

我在此网页上了解了这些API:http://www.ex-designz.net/apicat.asp?apicat=34

我测试了TrackPopupMenuEx和TrackPopupMenu API,他们做了同样的事情:在光标位置显示一个菜单。源代码是相同的,您只需添加或删除这些API名称末尾的“Ex”。 为什么两个API用于相同的操作?

注意:TrackPopupMenu在图像控件上使用时会在运行时崩溃我的应用程序,而TrackPopupMenuEx工作正常。 TrackPopUpMenu似乎毫无意义。

2 个答案:

答案 0 :(得分:0)

它们的功能非常相似,但最大的区别在于TrackPopupMenuEx允许您指定弹出菜单不会出现的矩形(有一个不会遮盖您需要查看的内容)。就我所见,这就是它。

答案 1 :(得分:0)

根据文档,有一些细微差别:

  1. TrackPopupMenu具有nReserved参数
  2. TrackPopupMenuEx为最后一个参数获取LPTPMPARAMS,但TrackPopupMenu采用CONST RECT *(被忽略)
  3. 因此,他们有不同数量和类型的参数,具有不同的含义 - 这可以解释为什么您的应用在更改通话时崩溃。