模态对话框,点击右上角的X按钮关闭不了窗口么? 我点击那个X关闭对话框,可是怎么都关不了,只能通过CDialog::OnOK()或者CDialog::OnCancel()来关闭,这样子正常么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我没有这个函数,必须得加上是么?我只有这些:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持virtual BOOL OnInitDialog();virtual void OnOK();virtual void OnCancel();afx_msg void OnPaint(); 代码:// Summary.cpp : 实现文件//#include "stdafx.h"#include "MuhonEditor.h"#include "NewDlg.h"// CNewDlg 对话框IMPLEMENT_DYNAMIC(CNewDlg, CDialog)BEGIN_MESSAGE_MAP(CNewDlg, CDialog) ON_WM_PAINT()END_MESSAGE_MAP()CNewDlg::CNewDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD_DLG_NEW, pParent){}CNewDlg::~CNewDlg(){}void CNewDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX);}// CNewDlg 消息处理程序BOOL CNewDlg::OnInitDialog(){ CDialog::OnInitDialog(); SetWindowPos(NULL, 0, 0, 460, 230, SWP_NOMOVE); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}void CNewDlg::OnOK(){// CDialog::OnOK();}void CNewDlg::OnCancel(){// CDialog::OnCancel();}void CNewDlg::OnPaint(){ CDialog::OnPaint();} 知道问题出在哪了,我这个对话框有这么一些控件定义: enum { CTLID_NONE = 0, CTLID_COMBOBOX_FORMAT, CTLID_CHECK_BUILDING, CTLID_CHECK_ALPHA, CTLID_BTN_SELECT_TERRAIN_FILE_PATH, CTLID_BTN_SELECT_DST_FILE_PATH, CTLID_BTN_CONFIRM, CTLID_BTN_CANCEL, };当我把起始值改成1000的时候,窗口就能正常关闭了,所以,我猜,可能是我定义的控件ID,和关闭按钮的控件ID有冲突 点击正在执行的进度条时,进度条停滞 使用TinyXML时的编译问题 有谁了解Windows内存回收机制?能指点一下吗? 想学习VC网络方面的,希望给点建议。 请帮我看看出错的原因是什么? 对话框DoModal()后立即隐藏并调用OnOK()马上返回,该如何处理? 为何这段代码在listctrl中只能添加一项数据? 线程如何正常结束? 高手请进 请问怎样编程实现不重启计算机而重新加载注册表?100分以谢。 模态对话框,点击右上角的X按钮关闭不了窗口么? 多线程服务器崩溃
我没有这个函数,必须得加上是么?我只有这些:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog();
virtual void OnOK();
virtual void OnCancel();afx_msg void OnPaint();
//#include "stdafx.h"
#include "MuhonEditor.h"
#include "NewDlg.h"// CNewDlg 对话框IMPLEMENT_DYNAMIC(CNewDlg, CDialog)BEGIN_MESSAGE_MAP(CNewDlg, CDialog)
ON_WM_PAINT()
END_MESSAGE_MAP()
CNewDlg::CNewDlg(CWnd* pParent /*=NULL*/)
: CDialog(IDD_DLG_NEW, pParent)
{
}CNewDlg::~CNewDlg()
{
}void CNewDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
// CNewDlg 消息处理程序BOOL CNewDlg::OnInitDialog()
{
CDialog::OnInitDialog(); SetWindowPos(NULL, 0, 0, 460, 230, SWP_NOMOVE); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}void CNewDlg::OnOK()
{
// CDialog::OnOK();
}void CNewDlg::OnCancel()
{
// CDialog::OnCancel();
}void CNewDlg::OnPaint()
{
CDialog::OnPaint();
}
{
CTLID_NONE = 0, CTLID_COMBOBOX_FORMAT,
CTLID_CHECK_BUILDING,
CTLID_CHECK_ALPHA,
CTLID_BTN_SELECT_TERRAIN_FILE_PATH,
CTLID_BTN_SELECT_DST_FILE_PATH,
CTLID_BTN_CONFIRM,
CTLID_BTN_CANCEL,
};
当我把起始值改成1000的时候,窗口就能正常关闭了,
所以,我猜,可能是我定义的控件ID,和关闭按钮的控件ID有冲突