如何屏蔽系统右键菜单?(100分)

  • 主题发起人 主题发起人 远帆
  • 开始时间 开始时间

远帆

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟是个初学者,做了一个有按钮的控件可是发现在按钮上按右键也会弹出系统的
复制、粘贴菜单。我重载了 RButtonDown 消息后在 EDIT 上不会弹出菜单了可是在
按钮上仍会弹出不知是怎么回事如何去掉它呢?
另外如何得知父类有哪些方法呢?哪儿有控件编写的资料下载?
 
>>另外如何得知父类有哪些方法呢
F1
 
到深度历险或程序员大本营(http://www.csdn.net)去看看,有很多控件的源代码
 
既然是你自己做的控件, 那么截取WM_CONTEXTMENU消息, 什么都不做就直接传递给DefWindowProc
 
Another_syes:不知是不是这样:
在private 中声明:procedure xx(var:TMessage);MSG:WM_CONTEXTMENU;
然后在过程中什么都不写?
我载取 WM_RButtonDown 怎么不行?
 
重新写OnMouseDown事件的代码,捕获右键事件,其它事件调用默认。
procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;
OnMouseDown := MouseDown;
 
你截取mouse的right down没用, 因为不管你如何截取, 最后总要调用defwindowproc的, 而
wm_contextmenu就是在那里面产生的.
 
to eyes:
可目前我的情况是:能够用 rbuttondown 屏蔽 EDIT 的右键菜单但是不能屏蔽 EDIT
内的 button 的右键菜单(Button 本身应该没有右键菜单的,可是右击Button会出现 EDIT
的右键菜单。我试着屏蔽了Button 的 Rbuttondown 也没用)
 
多人接受答案了。
 

Similar threads

回复
0
查看
816
不得闲
D
回复
0
查看
839
DelphiTeacher的专栏
D
D
回复
0
查看
844
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
679
DelphiTeacher的专栏
D
后退
顶部