我有代码显示特定DBGrid的搜索表单,该表单以另一种形式(调用者表单TSearchGridForm
)放置:
procedure TSearchGridForm.FormDeactivate(Sender: TObject);
begin
// Pseudo
if NewActiveControl <> CallerForm.DBGrid then
Close;
end;
Run Code Online (Sandbox Code Playgroud)
在TSearchGridForm
由呼叫者形式与活化.Show
(未模态),并且当它被停用我想关闭/隐藏它仅当新的现用控制<> CallerForm.DBGrid
.
只有当用户点击DBGrid
调用者表单时,搜索表单才会保持可见,否则我需要将其关闭.
我怎样才能做到这一点?
Delphi的TScreen
对象有事件OnActiveControlChange和OnActiveFormChange.您可以为这些设置事件处理程序以监视更改并对其作出反应.
有关详细信息,请参阅D7在线帮助.有两个事件的Delphi VCL代码示例.