关于创建对话框注意事项

创建一个对话框后默认自动创建确定和取消两个按钮

 

两个按钮的ID号不能变

ID为IDOK和IDCANCEL

 

否则改变后将出现如下的异常(Debug)

 

查找原因是:

 

void CSystemSetDlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
 DDX_Control(pDX, IDC_BTN_SYS_INIT, m_initBt);
 DDX_Control(pDX, IDOK, m_okBt);
 DDX_Control(pDX, IDCANCEL, m_cancelBt);
}

ID号不对

 

BEGIN_MESSAGE_MAP(CSystemSetDlg, CDialog)
 ON_WM_PAINT()
 ON_BN_CLICKED(IDC_SYS_OK, &CSystemSetDlg::OnBnClickedSysOk)
 ON_BN_CLICKED(IDC_SYS_NO, &CSystemSetDlg::OnBnClickedSysNo)
 ON_BN_CLICKED(IDC_BTN_SYS_INIT, &CSystemSetDlg::OnBnClickedBtnSysInit)
END_MESSAGE_MAP()

 

所以ID号需要对应起来

 

此外创建窗体类的时候默认没有创建初始化窗体函数,需要手工增加

 

函数声明:

virtual BOOL OnInitDialog();

 

函数实现:

BOOL CSystemSetDlg::OnInitDialog()
{
  CDialog::OnInitDialog();

  return TRUE;

 

你可能感兴趣的:(关于创建对话框注意事项)