如何在菜单弹出前知道将要弹出的是菜单,而不是窗口!

silicon_crystal 2002-11-30 10:23:03
当我按下了鼠标后,我如何在菜单或者窗口出现前知道将要出现的是窗口还是菜单。
这个问题有点怪。嘿嘿

就是说。当我单击鼠标后。我的程序如何能知道这次单击的结果是出现菜单还是窗口。
最好是在窗口或者菜单出现前程序就意识到了。
比如你在菜单条上随便那个菜单项按了下鼠标,我们知道一定回出现一个菜单的。
我现在需要我的程序在这个菜单出现前就发现原来这个单击是要出现个菜单。或窗口,就这两点,
知道有点难,不知道有人能搞定不。
...全文
43 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
silicon_crystal 2002-12-01
  • 打赏
  • 举报
回复
也就是说我不可能用个简单的方式在用户按了鼠标后,我的程序知道用户这个鼠标会出现菜单或者是窗口。
cnsuyong 2002-11-30
  • 打赏
  • 举报
回复
看样子楼主是想实现“操作记录”的功能吧。

对于所有OnClick时将弹出子菜单的菜单项,在其OnClick事件中嵌入代码就OK。
对于所有会被Show的窗口,在其OnShow或其他相关事件中嵌入代码就OK。

以下是题外话:
实际上,鼠标Click与弹出菜单或窗口根本没有任何直接关系。
鼠标单击菜单项,该菜单项如果有子菜单,那么将自动弹出子菜单;如果没有,那么可能开发者会在OnClick事件中编写弹出窗口的语句。而不管弹出菜单还是窗口,都可以不经过鼠标Click。
stanely 2002-11-30
  • 打赏
  • 举报
回复
我觉得的理解有些问题:
程序之所以能够弹出菜单,是因为响应了鼠标的消息。这是vcl自己响应并处理的,只要你设置了某个control的popupmenu属性,vcl会自己处理的。

如果你想自己控制这些,你就要自己截获消息,并处理,然后再决定是否应该弹出菜单,而丢弃vcl的默认做法
silicon_crystal 2002-11-30
  • 打赏
  • 举报
回复
分不是问题。最好能有具体代码。什么语言的都可以。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧