【发布时间】:2017-10-31 13:43:24
【问题描述】:
我目前正在使用 Borland Delphi 7,我需要在关闭表单时保留选中的复选框,以便用户下次创建新过滤器时使用。
编辑: 我有一个表格,“ordenes de servicios”,它显示了服务订单及其统计信息。我有很多过滤器,日期过滤器选项会打开一个带有复选框的新表单,因此我可以选择“开始日期”、“结束日期”等选项。这种形式“filtroDatas”在关闭时为“ordenes de servicios”发送一个字符串,粗略地解释一下,它是 Oracle 数据库中查询的“WHERE”子句。目前,“filtroDatas”在关闭时不会保留之前使用的复选框和日期,但我需要让它保留它们。查找有关 .FormClose 如何工作的数据表,我有“caHide”选项来“隐藏”表单,但它不保留信息。 caMinimize 是一个无效选项,因为表单应该从视线中“消失”。
注意:这是一个遗留代码,我无法更改太多。我虽然做了一些逆向工程,但形式是如何召唤的
procedure TfrmFiltrosData.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
(Owner as TfrmOrdensDeServico).HabilitaDesabilitaTimers(True);
qryFiltrosOs.Close;
Action := caHide;
//frmFiltrosData := nil;
end;
我也尝试了 caMinimize,但没有成功。 有人能解释一下这件事吗?
【问题讨论】:
-
这里没有足够的信息来提供帮助
-
您需要创建一个包含复选框中项目的“过滤器”类,然后基于它创建一个对象。在打开对象之前将对象传递给窗体并使用对象的内容填充窗体。当表单关闭时,使用表单中的复选框更新过滤器对象中的值并将对象返回给调用函数。
-
@DavidHeffernan 编辑了帖子。
-
我会尝试@Jaydee 的想法,似乎是正确的。谢谢你们! =D
-
还是不行
标签: delphi-7