只能通过CDialog::OnOK()或者CDialog::OnCancel()来关闭,这样子正常么?
6 个解决方案
#1
你是不是做了什么处理啊!
#2
在pretranslatemessage里面!
#3
我没有这个函数,必须得加上是么?
我只有这些:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog();
virtual void OnOK();
virtual void OnCancel();
afx_msg void OnPaint();
#4
没说你要加
我以为你有呢
不知道你在那里处理了!
我以为你有呢
不知道你在那里处理了!
#5
代码:
// 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();
}
#6
知道问题出在哪了,
我这个对话框有这么一些控件定义:
当我把起始值改成1000的时候,窗口就能正常关闭了,
所以,我猜,可能是我定义的控件ID,和关闭按钮的控件ID有冲突
我这个对话框有这么一些控件定义:
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有冲突
#1
你是不是做了什么处理啊!
#2
在pretranslatemessage里面!
#3
我没有这个函数,必须得加上是么?
我只有这些:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog();
virtual void OnOK();
virtual void OnCancel();
afx_msg void OnPaint();
#4
没说你要加
我以为你有呢
不知道你在那里处理了!
我以为你有呢
不知道你在那里处理了!
#5
代码:
// 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();
}
#6
知道问题出在哪了,
我这个对话框有这么一些控件定义:
当我把起始值改成1000的时候,窗口就能正常关闭了,
所以,我猜,可能是我定义的控件ID,和关闭按钮的控件ID有冲突
我这个对话框有这么一些控件定义:
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有冲突