delphi - Delphi Firemonkey Frames - 如何获取框架使用的事件OnEnter和OnExit
问题描述
使用 Delphi Tokyo 和 FireMonkey:我在一个表单上有很多不同的框架,并且想设置一些表单级别的变量,因为焦点在不同框架中的表单变化。前任。我在表单上有一个插入按钮,如果用户所在的框架允许插入,我想启用它,然后在离开框架焦点时再次禁用它。框架上有 OnEnter 和 OnExit 事件,但它们从不执行。显然,框架上有编辑等。
解决方案
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormFocusChanged(Sender: TObject);
private
FFocusedFrame: TFrame;
public
{ Public declarations }
end;
...
procedure TForm1.FormFocusChanged(Sender: TObject);
var
LParent: TFmxObject;
begin
if Focused <> nil then
begin
LParent := Focused.GetObject.Parent;
while (LParent <> nil) and not (LParent is TFrame) do
LParent := LParent.Parent;
if (LParent <> nil) and (FFocusedFrame <> LParent) then
begin
FFocusedFrame := TFrame(LParent);
Label1.Text := FFocusedFrame.Name;
end;
end;
end;
end.
无需为每个控件连接 OnEnter 和 OnExit
推荐阅读
- http - Http 和 TCP/IP 的区别
- javascript - 在.post函数Node.JS中依次调用两个异步函数
- excel - 如何通过 Excel VBA Chart.Export 设置图像选项
- c# - 使用 jwt 令牌 asp.net 获取用户数据
- microsoft-graph-api - 获取所有用户信息时 MS Graph API 中的通配符
- xquery - 一个值与来自另一个 xquery 的多个值的连接
- postgresql - Postgres 功能比相同的临时查询慢
- r - 根据数据框值将列拆分为两个
- excel - 将 3D 输入数据导入 LSTM,从 Excel 多个工作表中使用可变时间步长
- javascript - Solidity 和 React:不能将 method.call() 用于合约中的视图函数