如何在MFC窗口初始化中关闭这个初始化的窗口

 BOOL CScoreList::OnInitDialog()
{
    CDialogEx::OnInitDialog();
    CListCtrl* list = (CListCtrl*)GetDlgItem(IDC_SCORE_LIST);
    list->InsertColumn(0, _T("课程编号"), 0, 150);
    list->InsertColumn(1, _T("课程名称"), 0, 150);
    list->InsertColumn(2, _T("课程成绩"), 0, 150);
    list->SetExtendedStyle(LVS_EX_FULLROWSELECT);
    if (!Load())
    {
        AfxMessageBox(_T("成绩不存在"));
        DestroyWindow(); //问题就是这里,如果没有这成绩,我就不需要打开这个成绩
                                                                //清单,怎么关闭还没有打开的窗口??
        return 0;
    }

    if (lstrcmp(g_Administrator, _T("admin")) == 0)
    {
        CEdit* ed = (CEdit*)GetDlgItem(IDC_EDIT_SCORE);
        ed->ShowWindow(SW_SHOW);
        CButton* bt = (CButton*)GetDlgItem(IDOK);
        bt->ShowWindow(SW_SHOW);
    }
    // TODO:  在此添加额外的初始化

    return TRUE;  // return TRUE unless you set the focus to a control
                  // 异常: OCX 属性页应返回 FALSE
}

问题就在代码中。我写明了。新手,求大神来解答

两个办法,一个是SendMessage(WM_CLOSE)
一个是调用 EndDialog

一个使用消息关闭,另一个是 直接close

使用PostMessage,等这个函数执行完之后马上关闭窗口

EndDialog可以的