TrackPopupMenuEx和TrackPopupMenu Windows API有什么区别?

问题描述 投票:3回答:2

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

我测试了TrackPopupMenuEx和TrackPopupMenu API,它们具有相同的作用:在光标位置显示菜单。源代码是相同的,您只需要在这些API名称的末尾添加或删除“ Ex”即可。为什么要使用两个API进行相同的操作?

注意:当在图像控件上使用TrackPopupMenuEx时,TrackPopupMenu在运行时会使我的应用程序崩溃,而TrackPopupMenuEx可以正常运行。 TrackPopUpMenu似乎没有意义。

vb6 windows-xp
2个回答
0
投票

它们是非常相似的功能,但是最大的区别是TrackPopupMenuEx允许您指定一个不会出现弹出菜单的矩形(这样可以使弹出菜单不会遮挡您所要看到的内容)。就我所知,就这样。


0
投票

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

  1. [TrackPopupMenu具有nReserved参数
  2. [TrackPopupMenuEx的最后一个参数为LPTPMPARAMS,但是TrackPopupMenu的为CONST RECT*(将被忽略)

因此,它们具有不同数量和类型的参数,具有不同的含义-这将解释为什么更改呼叫后您的应用程序崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.