// Generated message map functions
//{{AFX_MSG(CJLSetupDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeComboVersionset();
afx_msg void OnSelchangeComboModeset();
afx_msg void OnCheckAuto();
afx_msg void OnButtonSet();
afx_msg void OnButtonDefault();
afx_msg void OnButtonNext();
afx_msg void OnButtonCancel();
afx_msg void OnButtonBack();
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnButtonCancel2();//主要是这几个函数
afx_msg void OnButtonDefault2();//
afx_msg void OnButtonOk2();//
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
..............................
BEGIN_MESSAGE_MAP(CJLSetupDlg, CDialog)
//{{AFX_MSG_MAP(CJLSetupDlg)
ON_CBN_SELCHANGE(IDC_COMBO_VERSIONSET, OnSelchangeComboVersionset)
ON_CBN_SELCHANGE(IDC_COMBO_MODESET, OnSelchangeComboModeset)
ON_BN_CLICKED(IDC_CHECK_AUTO, OnCheckAuto)
ON_BN_CLICKED(IDC_BUTTON_SET, OnButtonSet)
ON_BN_CLICKED(IDC_BUTTON_DEFAULT, OnButtonDefault)
ON_BN_CLICKED(IDC_BUTTON_NEXT, OnButtonNext)
ON_BN_CLICKED(IDC_BUTTON_CANCEL, OnButtonCancel)
ON_BN_CLICKED(IDC_BUTTON_BACK, OnButtonBack)
ON_WM_HELPINFO()
ON_WM_SYSCOMMAND()
ON_BN_CLICKED(IDC_BUTTON_CANCEL2, OnButtonCancel2)//关联的资源
ON_BN_CLICKED(IDC_BUTTON_DEFAULT2, OnButtonDefault2)//
ON_BN_CLICKED(IDC_BUTTON_OK2, OnButtonOk2)//
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
....................................
BOOL CJLSetupDlg::OnInitDialog()
{
CDialog::OnInitDialog(); if(PWMparam.ntype==0)
{
GetDlgItem(IDC_BUTTON_OK2)->ShowWindow(SW_HIDE);//--->调试到这出错
GetDlgItem(IDC_BUTTON_CANCEL2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_DEFAULT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_BACK)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_NEXT)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_CANCEL)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_DEFAULT)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_BUTTON_OK2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_CANCEL2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_DEFAULT2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_BACK)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_NEXT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_CANCEL)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_DEFAULT)->ShowWindow(SW_HIDE);
}
AddVersionName();
InitPrameters();
ChangeDataFromVersion(m_sVersion);
InitChannel();
SetRegister();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
问题是这样的,也就是三个BUTTON按钮,取了IDC_BUTTON_OK2,IDC_BUTTON_CANCEL2,IDC_BUTTON_DEFAULT2三个ID,结果编译链接都没错,运行就崩,调试到上面那个位置就出错,结果我把IDC_BUTTON_OK2,IDC_BUTTON_CANCEL2,IDC_BUTTON_DEFAULT2改为IDC_BUTTON_OK_II,IDC_BUTTON_CANCEL_II,IDC_BUTTON_DEFAULT_II又什么都好了,我就纳闷了,我以前ID带个数字也没出现这种情况,今天还真是诡异了,求解...............
点重试断下来然后看调用堆栈
定位到自己的代码就知道问题是什么了
肯定和你所谓数字ID没有关系
楼主最好先删除消息响应,再修改ID后添加消息响应