如题
解决方案 »
- delphi可否让IE自动执行按钮的click事件?(100分求解)
- 我想将.txt文件导入到SQL中
- 提问:delphi call java webservice的问题
- 高分请教!!!在SQL中对大量数据进行计算?????
- 谁帮我,F1BOOK的COPY问题
- 在dxdbgrid中把ShowSummaryFooter属性设置为true,为什么不会出现汇总数据?
- 打印的问题
- 请高手指教!!
- 请问谁有ReportBuilder for delphi6的cdkey?
- 我的socketconnection老连不上application server,这是怎么回事?
- 一个大问题:关于一台电脑两台打印机的问题?
- 在98下可以使用,但在XP的98虚拟机下无法使用,请问为什么?
function ControlFromPoint(mParent: TWinControl; mPoint: TPoint): TControl;
var
I: Integer;
begin
Result := nil;
if not Assigned(mParent) then Exit;
for I := 0 to mParent.ControlCount - 1 do begin
if not mParent.Controls[I].Visible then Continue;
if PtInRect(mParent.Controls[I].BoundsRect, mPoint) then begin
if mParent.Controls[I] is TWinControl then
Result := ControlFromPoint(TWinControl(mParent.Controls[I]),
Point(mPoint.X - mParent.Controls[I].Left,
mPoint.Y - mParent.Controls[I].Top));
if not Assigned(Result) then Result := mParent.Controls[I];
end;
end;
end; { ControlFromPoint }procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
vControl: TControl;
begin
case Msg.message of
WM_RBUTTONDOWN:
begin
vControl := ControlFromPoint(Self, ScreenToClient(Mouse.CursorPos));
if Assigned(vControl) then
begin
Caption := vControl.Name;
Handled := True;
end;
end;
end;
end;
在窗体上放一个TApplicationEvents控件,加上OnMessage的事件处理代码
直接处理Application.OnMessage也是一样的
其次就是要知道用户点了什么控件
ControlFromPoint()函数是通过容器的坐标查到该位置的控件…………