mfc,在Resource 中打开对话框实例弹出2 ActiveX controls could not be nstantiated.Reinstall or regist
.Reinstallorregisterthecontrolsandtryagain.据说是控件没注册的问题,但我是新手还是不太懂,我该怎么具体注册?下面是对话框部分代码...
.Reinstall or register the controls and try again.据说是控件没注册的问题,但我是新手还是不太懂,我该怎么具体注册?下面是对话框部分代码
void CUserManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserManDlg)
DDX_Control(pDX, IDC_USERTYPE_COMBO, m_ctlUserType);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);
DDX_Text(pDX, IDC_PASSWORD_EDIT, m_strUserPassWord);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserManDlg, CDialog)
//{{AFX_MSG_MAP(CUserManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_MODIFY_BUTTON, OnModiButton)
ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDelButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
这些都是什么控件,怎么看哪个没注册? 展开
void CUserManDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUserManDlg)
DDX_Control(pDX, IDC_USERTYPE_COMBO, m_ctlUserType);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);
DDX_Text(pDX, IDC_PASSWORD_EDIT, m_strUserPassWord);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUserManDlg, CDialog)
//{{AFX_MSG_MAP(CUserManDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_MODIFY_BUTTON, OnModiButton)
ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDelButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
这些都是什么控件,怎么看哪个没注册? 展开
2个回答
展开全部
最好的方法,备份一个工程出来,一个一个的删除控件,找到具体没注册的控件然后再来处理,否则一堆控件你也不知道是哪一个出问题。
建议先删除这两个然后再看结果。
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
建议先删除这两个然后再看结果。
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个就看DDX_Control(pDX, IDC_USERTYPE_COMBO, m_ctlUserType);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);
DDX_Text(pDX, IDC_PASSWORD_EDIT, m_strUserPassWord);
//}}AFX_DATA_MAP这个数据宏里面的信息,就知道你用到哪些控件。
DDX_Control(pDX, IDC_USERTYPE_COMBO, m_ctlUserType);//这个你用到了组合框,根据COMBO来判断
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);//这个你用到了datagrid控件,有关键字DATAGRID1
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);//使用了文本控件,根据关键字EDIT判断
CUserManDlg::DoDataExchange(CDataExchange* pDX)这里面放的都是你注册的控件
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_Control(pDX, IDC_ADODC1, m_adodc);
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);
DDX_Text(pDX, IDC_PASSWORD_EDIT, m_strUserPassWord);
//}}AFX_DATA_MAP这个数据宏里面的信息,就知道你用到哪些控件。
DDX_Control(pDX, IDC_USERTYPE_COMBO, m_ctlUserType);//这个你用到了组合框,根据COMBO来判断
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);//这个你用到了datagrid控件,有关键字DATAGRID1
DDX_Text(pDX, IDC_USERID_EDIT, m_strUserID);//使用了文本控件,根据关键字EDIT判断
CUserManDlg::DoDataExchange(CDataExchange* pDX)这里面放的都是你注册的控件
追问
但是我要怎么注册呢,也就是具体怎么做才能解决问题呢?这是从别的机器上拷的代码,在我机器上才这样!
追答
你必须先把控件添加到对话框上面,然后上面的代码是自动生成的,相当于你刚才添加的控件也就自动的注册了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询