打开模态窗口时,从其他表单列表视图中选择项目

时间:2011-04-27 06:37:49

标签: delphi user-interface forms delphi-xe

我有一个问题,这有点难以解释,但我试试。

我有一个应用程序的主窗口。在这个主窗口中,我有一个与客户一起的弹出对话框(另一个包含listview的表单)。如果我在主窗口的文本框中键入,它会弹出并根据我键入的内容自动填充数据。我可以通过单击项目上的鼠标或按箭头并输入键来从那里选择项目。

现在我向主窗口添加了新的模态对话框,并且想要在打开新模式对话框时像在主窗口中那样访问此弹出对话框。如果我输入新的模态对话框文本框,它会再次弹出并根据我键入的内容填充数据。

我开始工作,弹出并填充数据,我也可以通过按箭头选择项目并输入密钥。

问题是我无法点击主窗体上的项目,因为模态窗口不允许我这样做。

当另一个模态对话框打开时,有没有办法点击此弹出对话框中的项目?比如让两个表格同时保持活跃状态​​?

希望你理解我的问题。

此致 evilone

1 个答案:

答案 0 :(得分:1)

使用EnableWindow功能。您可以在OnShow事件处理程序中调用它,例如:

// show Form3 and call modal dialog Form2
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form3.Show;
  Form2.ShowModal;
end;

// make Form3 controls available while Form2 is modal:
procedure TForm2.FormShow(Sender: TObject);
begin
  EnableWindow(Form3.Handle, True);
end;