关于 WM_CONTEXTMENU这个消息怎么用(100分)

C

c_mars

Unregistered / Unconfirmed
GUEST, unregistred user!
我通过指定一个panel的popupmenu属性动态添加了一个弹出式菜单,现在我想通过截获消息
来处理click事件,好像只有wm_contextmenu这个消息可以截获,但截获后我不知道是哪个
菜单项发出的消息,请高手指点
 
这个消息应由Panel来处理(实际上是弹出菜单前消息),Panel在接收到这个消息后再弹出菜单.通过消息来处理菜单项的
Click事件很难,我想只能是通过动态事件赋值来处理.
 
如果是“通过指定一个panel的popupmenu属性动态添加了一个弹出式菜单”
符合条件就设popupmenu属性为一个设计好的菜单,如果不符就设为nil。不就可以了。

如果是要动态添加菜单项,可以先自定义一个CLICK事件的处理过程。然后在动态添加菜单项的
时候赋OnClick事件的值为这个自定义的处理过程,不就可以了。如果要添加多个菜单项,就在
处理事件中通过Sender as TMenuItem来确定是点击的哪个菜单,然后转入相应的处理。

不直接处理消息,就可以达到这个效果
 
多人接受答案了。
 

Similar threads

顶部