我知道有可能採取a dialog that you built yourself and parent it on another form。但是,有可能在您設計的窗體上添加標準的Windows系統對話框?有沒有辦法在另一個表單中標準的Windows對話框?
具體來說,我試圖設置一個帶有多個選項卡的表單,這些選項卡提供了不同的方式來獲取對程序使用的數據的引用。其中一個選項卡應表示文件系統,並且執行此操作的理想方法是使用the standard Open dialog,可以使用COM標識CLSID_FileOpenDialog
進行實例化。
有沒有什麼辦法讓系統對話框出現在另一個窗口,沒有邊框,標題欄等?
我已經考慮過了。但是構建我自己的shell視圖的問題在於,即使我構建的視圖與當前的Windows對話框完全相同,但在下一個Windows版本出現時,它可能看起來不像當前對話框。一個OS對話框將會。 –
這很棘手,因爲您正在嘗試使用模式對話框(使用其自己的消息循環)並將其設置爲無模式,以便它使用應用程序消息循環。因此,不管怎樣(使用鉤子或某種方式),您必須在創建對話框之後,但在進入模型循環之前訪問該對話框。只需看一下MFC CDialog :: DoModal()就可以瞭解複雜性。不是爲了膽小鬼! – user1793036