拦截鼠标单击事件 有一个TForm 上面有些控件.要求实现当鼠标单击在这个Form上的时候(包括单击Form上的控件上和Form的标题栏上)运行一个过程,怎么实现??注意,包括标题栏.简单的说一下思路就好. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.FormClick(Sender: TObject);beginend;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginend;一个是鼠标单击,一个是鼠标的左键按下就是上面两个过程,如果是控件的话,对相应的控件添加这两个过程不就行了? procedure TForm1.MsgProc(var Msg: TMessage);begin if Msg.Msg = WM_SYSCOMMAND then Caption := Format('%d,%d;标题', [mouse.CursorPos.X, mouse.CursorPos.Y]); if Msg.Msg = WM_LButtonDown then Caption := Format('%d,%d;窗口', [mouse.CursorPos.X, mouse.CursorPos.Y]); WndProc(Msg);end;procedure TForm1.FormCreate(Sender: TObject);begin self.WindowProc := MsgProc;end; 代码里设定就OK了,------------------------------------------------------------------人事考勤工资系统88!九天助建站系统8!空间300M/200元,100M/70元 http://shop34534782.taobao.com拍卖1起 在每个控件clicked的事件里写通用性不是很好,可以用截获消息的办法,也可以用actionlist加过程的方法。 Application.OnMessage case WM_LBUTTONDOWN,WM_NCLBUTTONDOWN: if(GetAncestor(MSG.HWMD,GA_ROOT)=MyForm.Handle) dosth; 我的目的是做一个透明的的控件,暂时称为 TA 吧.当一个TForm上,放有一个 TA控件 并且 TA.Active := True 的时候,只要单击窗口上的任何区域都会 先运行该控件的 TA.OnClick 过程, 后面再接着运行相关的过程.比如单击的是窗口上的一个 Button 则运行 TA.OnClick, Button.OnClick..TA怎么实现??? 关于cxgrid中添加checkbox 春节快乐,散分200 ,兼改汇编代码100 Image中设置弹出菜单 如何实现tiff黑白图像的自动纠偏功能 ftp的目录名及文件名用树形目录表示(添加到treeview中!)。急 高分。不够再加 一个DELPHI IDE的使用问题,请大家帮忙看一下. 组件 音标如何存入数据库中呀 请大虾指点难题 如何通过程序读取EXCEL中的数据加载到ACCESS数据库中,高分相送,大虾们帮忙呀 请问如何用代码来改变字体的颜色? 求助:MDI主窗体无法打开子窗体!
beginend;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
beginend;一个是鼠标单击,一个是鼠标的左键按下
就是上面两个过程,如果是控件的话,对相应的控件添加这两个过程不就行了?
begin
if Msg.Msg = WM_SYSCOMMAND then
Caption := Format('%d,%d;标题', [mouse.CursorPos.X, mouse.CursorPos.Y]);
if Msg.Msg = WM_LButtonDown then
Caption := Format('%d,%d;窗口', [mouse.CursorPos.X, mouse.CursorPos.Y]); WndProc(Msg);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
self.WindowProc := MsgProc;
end;
人事考勤工资系统88!九天助建站系统8!空间300M/200元,100M/70元
http://shop34534782.taobao.com
拍卖1起
case WM_LBUTTONDOWN,WM_NCLBUTTONDOWN:
if(GetAncestor(MSG.HWMD,GA_ROOT)=MyForm.Handle)
dosth;
当一个TForm上,放有一个 TA控件 并且 TA.Active := True 的时候,只要单击窗口上的任何区域都会 先运行该控件的 TA.OnClick 过程, 后面再接着运行相关的过程.比如单击的是窗口上的一个 Button 则运行 TA.OnClick, Button.OnClick..TA怎么实现???