目前我的資源中有兩個對話框模板。如何使用MFC將兩個對話框合併爲一個組合對話框?
我想在合適的模板動態地添加內容到 對話框左側的模板。我將如何做到這一點?
輸出應該是這樣的:
而且,我用MFC C++。我對此很陌生,我會非常感謝任何幫助!
這裏是我試圖這樣做,但只有主對話框會顯示:
MainDialogBox *mainDlg = new MainDialogBox();
subDialogBox *subDlg = new subDialogBox(mainDlg);
目前我的資源中有兩個對話框模板。如何使用MFC將兩個對話框合併爲一個組合對話框?
我想在合適的模板動態地添加內容到 對話框左側的模板。我將如何做到這一點?
輸出應該是這樣的:
而且,我用MFC C++。我對此很陌生,我會非常感謝任何幫助!
這裏是我試圖這樣做,但只有主對話框會顯示:
MainDialogBox *mainDlg = new MainDialogBox();
subDialogBox *subDlg = new subDialogBox(mainDlg);
改變孩子對話框模板刪除其標題欄和邊框樣式。這將使它融入並看起來像父母對話框的一部分。
然後創建子對話框作爲無模式對話框的父窗口是父對話框。 (使用CDialog :: Create創建一個無模式對話框。)如果你已經這樣做了,而第二個對話框沒有顯示,也許你沒有設置'可見'樣式。
當您創建父對話框給它的風格WS_EX_CONTROLPARENT。這將有助於父母與孩子之間的鍵盤導航。
最後,您需要將子對話框放在父對話框所需的位置。父級可以將x,y點或矩形傳遞給對話框構造函數。然後,這個孩子(在OnInitDiialog中)可以通過調用SetWindowPos來定位自己。
omgomg謝謝老兄! – CodeDoctorJL
有一個更簡單的方法來定位嵌套的子對話框。只需在父對話框中的希望孩子出現的位置創建一個靜態的「隱藏」文本框。給它一個除IDC_STATIC以外的資源名稱。然後,您可以獲取「隱藏」靜態框的座標,並使用它來定位您的子對話框。 – rrirower
我知道,這是沒有幫助的,但使用MFC,你需要的? – Raxvan
可悲的是,是的,我要.. – CodeDoctorJL