gpt4 book ai didi

c++ - 在 MFC 中,如何避免对话框停留在我的应用程序窗口的顶部?

转载 作者:搜寻专家 更新时间:2023-10-31 00:05:37 25 4
gpt4 key购买 nike

我有一个基于对话框的应用程序 (MFC - VS 2008)。我有一个列表控件。我弹出其他对话框,但我也希望能够返回到父应用程序对话框。我可以返回到父应用程序对话框,但问题是即使我用鼠标单击它它仍然隐藏在“子”窗口后面。

我希望它出现在前面。

可能有一些明显的地方我做错了。当父窗口具有焦点时,我需要做什么才能使它位于最前面?我假设子 dlg 上有一些不应该存在的属性,或者缺少某些属性

如果有帮助,我可以发布 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

最佳答案

您可能正在通过调用 DoModal 使用模态对话框。
相反,您需要创建一个 modeless dialog box .

为此,请使用 CWnd::CreateCWnd::ShowWindow .

示例:

CMyDialog *m_pMyDialog = new CMyDialog(this);
m_pMyDialog->Create(CMyDialog::IDD);
m_pMyDialog->ShowWindow(SW_SHOW);

关于c++ - 在 MFC 中,如何避免对话框停留在我的应用程序窗口的顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com