【发布时间】:2018-01-13 21:57:12
【问题描述】:
我正在使用以下过程来识别 Delphi XE3 中鼠标下的控件。对于vcl.contols,一切正常。但是,当鼠标悬停在 TImage 上时,不会返回控件名称。
procedure TMainForm.ApplicationEvents1Idle(Sender: TObject; var Done: oolean);
var
ctrl : TWinControl;
begin
ctrl := FindVCLWindow(Mouse.CursorPos);
if ctrl <> nil then begin
Label2.caption := ctrl.Name;
//do something if mouse is over TLabeledEdit
if ctrl is TLabeledEdit the begin
Caption := TLabeledEdit(ctrl).Text;
end;
end;
end;
有没有一种简单的方法可以访问 TImage 的名称 - 我错过了一些非常简单的东西吗?
【问题讨论】:
-
我找了一个例子使用 - FindDragTarget(const Pos: TPoint; AllowDisabled: Boolean): TControl
-
我已经寻找了一个使用的例子 - FindDragTarget(const Pos: TPoint; AllowDisabled: Boolean): TControl 但是一直没能找到一个:(谁能指出我正确的方向或提供例子包括必须添加到“使用”部分的任何对象/项目?
-
我的友好建议是停止成为“复制粘贴程序员”。通过阅读文档和自己思考来学习。您已被告知为什么
FindVCLWindow()对您不起作用以及要使用什么功能。您还知道函数返回什么,将ctrl变量更改为该类型。看帮助,如果你猜不出来,额外的AllowDisabled参数是什么意思。
标签: delphi vcl delphi-xe3