当我按下了鼠标后,我如何在菜单或者窗口出现前知道将要出现的是窗口还是菜单。
这个问题有点怪。嘿嘿就是说。当我单击鼠标后。我的程序如何能知道这次单击的结果是出现菜单还是窗口。
最好是在窗口或者菜单出现前程序就意识到了。
比如你在菜单条上随便那个菜单项按了下鼠标,我们知道一定回出现一个菜单的。
我现在需要我的程序在这个菜单出现前就发现原来这个单击是要出现个菜单。或窗口,就这两点,
知道有点难,不知道有人能搞定不。

解决方案 »

  1.   

    我觉得的理解有些问题:
    程序之所以能够弹出菜单,是因为响应了鼠标的消息。这是vcl自己响应并处理的,只要你设置了某个control的popupmenu属性,vcl会自己处理的。如果你想自己控制这些,你就要自己截获消息,并处理,然后再决定是否应该弹出菜单,而丢弃vcl的默认做法
      

  2.   

    看样子楼主是想实现“操作记录”的功能吧。对于所有OnClick时将弹出子菜单的菜单项,在其OnClick事件中嵌入代码就OK。
    对于所有会被Show的窗口,在其OnShow或其他相关事件中嵌入代码就OK。以下是题外话:
    实际上,鼠标Click与弹出菜单或窗口根本没有任何直接关系。
    鼠标单击菜单项,该菜单项如果有子菜单,那么将自动弹出子菜单;如果没有,那么可能开发者会在OnClick事件中编写弹出窗口的语句。而不管弹出菜单还是窗口,都可以不经过鼠标Click。