如何在TMenuitem实现一个OnRightClick事件(200分)

  • 主题发起人 主题发起人 powercat
  • 开始时间 开始时间
P

powercat

Unregistered / Unconfirmed
GUEST, unregistred user!
TMenuitem只有OnClick事件,而没有在所选的菜单项响应鼠标右键的事件,那么如何侦测用户在所选的菜单项按下鼠标右键,并进行执行我定义的代码呢(如弹出一个该菜单项的权限设置代码)。请高手指教,以解我燃眉之急!
 
onmousedown 事件
if button = mbright then
begin
...
end
 
估计不是那么简单的。
 
以前做过,响应右键好象行,但如果你想再POPMENU的话可不易,做出来告诉我一声。
 
windows2000中提供了捕捉在某一菜单上松开鼠标右键的消息WM_MENURBUTTONUP。
 
再弹出一个菜单不简单。
 
首先, 必须用D5(D5以下则必须直接改Menus.pas了, 因为PopupList变量不是在
Interface部分定义, 其他程序访问不了).
其次, 替换PopupList(一个全局变量)的WndProc, 可以用SetWindowLong
第三, 在那里面才能截获到WM_RBUTTONDOWN消息.
第四, 接收到消息后必须判断当前哪个Menu Popup了
第五, 根据WM_RBUTTONDOWN消息里的x, y可以定位到哪个MenuItem.
还要什么吗?
 
接受答案了.
 
后退
顶部