我有一個基於對話框的應用程序(MFC - VS 2008)。我有一個列表控件。我彈出其他對話框,但我也希望能夠回到父應用程序對話框。我可以回到父應用程序dilaog框,但問題是,即使我用鼠標點擊它,它仍然隱藏在「子」窗口後面。在MFC中,如何避免對話框停留在我的應用程序窗口之上?
我希望它來到前面。
有可能是一些明顯的我做錯了。我需要做什麼才能讓父窗口在焦點時出現在前面?我假設有一些屬性應該不在那兒,或者丟失了一些東西
如果有幫助,我可以發佈rc代碼。
編輯:
這裏是兩個對話框的.RC代碼。第一個是大型機窗口。
第二啓動用下面的代碼:
HistogramWindow *histwind;
histwind = new HistogramWindow(this);
histwind->Create(IDD_DIALOG_HISTOGRAM);
histwind->ShowWindow(SW_SHOW);
IDD_DTHISTOGRAMDLG_DIALOG DIALOGEX 0, 0, 320, 200
STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "dtHistogramDlg"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,209,179,50,14,NOT WS_VISIBLE
PUSHBUTTON "Cancel",IDCANCEL,263,179,50,14,NOT WS_VISIBLE
CONTROL "",IDC_LIST_SYMBOL_SETS,"SysListView32",LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,60,50
END
IDD_DIALOG_HISTOGRAM DIALOGEX 0, 0, 317, 184
STYLE DS_SETFONT | DS_FIXEDSYS | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_APPWINDOW
CAPTION "Histogram"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,205,163,50,14,NOT WS_VISIBLE
PUSHBUTTON "Cancel",IDCANCEL,260,163,50,14,NOT WS_VISIBLE
CONTROL "",IDC_STATIC,"Static",SS_BLACKFRAME,7,7,20,20
END
我已經這樣做。問題不在於我無法進入大型機父窗口 - 我可以,只是子窗口總是在前面 - 即使大型機具有焦點。 – Tim 2009-12-25 04:27:31
您可以隨時爲SetWindowPos設置正確的z順序。 – 2009-12-25 05:15:48