我有代码显示特定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代码示例.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |