当鼠标停留在某个按钮或者组件上时,该按钮或组件有自己的鼠标事件代码,此时点击鼠标右键,我不想执行该按钮或组件的鼠标按键代码,而是希望执行其他代码,如何实现啊。好像老是会被按钮捕捉到,难道用钩子?太麻烦了吧。
解决方案 »
- 终于2W了,散分
- 问一个搜索后字符串选中的问题
- 谁见过这种方法,一个字:绝!(有见地的回帖都有分)
- 求完整的 Win32 程序员参考大全----消息、结构和宏 电子书
- 当oracle9i遭遇到windows server 2003(或windows xp),而你又在com+环境中使用了事务组件...
- 话说当年曾经有这样一个问题。。。。。。(可以用delphi+汇编)
- 如何正确使用Query组件的delete方法?
- 累了一天了,讨论讨论?支个招?
- 不知各位能否给我个建议,我的东东是用DELPHI来编写的,现要打印一个比较复杂的表,不知用那一种方法好
- fastreport怎么修改日期
- 为什么我装的第三方控件都找不到dcu文件呢??
- 怎样在三层(socket连接)的客户端显示dbgrid读入数据的进度?另有谁知道Devexpress的dbprogressbar 是怎么用?
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
ShowMessage('你按了鼠标右键');
end;
begin
//WM_RBUTTONDOWN = $0204;
inherited WndProc(Message);
with Message do
if (Msg = WM_RBUTTONDOWN ) then
begin
showmessage('你点击了右键--------------');
end;end;我用如上代码,结果,只要鼠标是在原本有鼠标事件的地方点击右键,就会触发两次消息(比如有个BUTTON有鼠标的mousedown事件,不过该button是判断鼠标的双击),在窗体上用右键没有问题。怎么回事。我不是只判断button的双击嘛,而且是左键双击,为什么会触发消息的右键呢?
2. 设置Panel.TabStop:=true,点击Panel就能获得焦点了