2011-04-27 58 views
0

我有一個問題,這是有點困難的解釋,但我嘗試。從模式窗口打開時從另一個表單列表視圖中選擇項目

我有一個應用程序的主窗口。在這個主窗口中,我有一個彈出對話框(包含listview的另一個表單)與客戶。如果我在主窗口的文本框中輸入,則會彈出並根據我輸入的內容自動填充數據。我可以通過點擊項目上的鼠標或按箭頭鍵並輸入鍵來從中選擇項目。

現在我添加了新的模式對話框到主窗口,並想要訪問這個彈出對話框,就像我在主窗口中打開新的模式對話框一樣。如果我輸入新的模式對話框文本框,那麼它會彈出並根據我輸入的內容填充數據。

我開始工作,它彈出並填充數據,我也可以通過按箭頭鍵和輸入鍵來選擇項目。

問題是我不能點擊主窗體上的項目,因爲模態窗口不讓我這樣做。

當另一個模式對話框打開時,是否有方法可以在此彈出對話框上單擊項目?像保持這兩個表單同時處於活動狀態?

希望你能理解我的問題。

問候, evilone

回答

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; 
+0

@Serg我必須將此代碼添加到模態對話框並指向彈出對話框句柄嗎? – evilone 2011-04-27 06:49:30

+0

@evilone:我編輯了答案,使其更清晰 – kludg 2011-04-27 06:56:14

+0

這似乎並沒有工作。因爲我有第三個從我的例子打開的Form2被激活。我有Form1 - 這是主窗口,Form2 - 這是模態窗口。我從Form1和Form2訪問第三個窗口。在Form1中所有的工作,但在Form2上,我不能點擊它,因爲Form2是模態。 – evilone 2011-04-27 07:03:27

相關問題