新手问个有关问题(如何把对话框中的数据显示到CList ctrl 控件中呢) 小弟我运行时老出现异常
新手问个问题(怎么把对话框中的数据显示到CList ctrl 控件中呢) 我运行时老出现错误
我有两个对话框,对应的有两个类 ,一个是CMyDlg 一个是 CSingleSetDlg
CMyDlg 中有个为IDC_LIST1的控件,对他加了个叫m_singleset的变量(CListCTrl类型的)
然后我用CSingleSetDlg对应的对话框 中创建了5个编辑框 ,名字分别为m_ennum m_name m_dan
m_expand m_value ,他们都是(cstring)类型的
意思就是说我在这对话框的五个编辑框中写入一些数据,然后显示到弹出这对话框的 那个父对话框中的clist ctrl 控件中.虽然编译通过了 运行老出错 ,有高手可以教下我吗 谢谢了
下面是我写的部分代码
class CMyDlg : public CDialog
{
// Construction
public:
CSetiniDlg(CView *pView);
CString m_dynamictest;
CString m_bin;
CString m_show2;
CString m_show1;
CString m_open1;
CString m_statictest;
int multi_i;
int open_i;
int single_i;
CMyDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMyDlg)
enum { IDD = IDD_MY_DIALOG };
CListCtrl m_openset;
CListCtrl m_multiset;
CListCtrl m_singleset;
//}}AFX_DATA
另外一段
#include "stdafx.h "
#include "º½µçϵͳ²âÊÔ.h "
#include "SingleSetDlg.h "
#include "º½µçϵͳ²âÊÔDlg.h "
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CListCtrl* m_setDlg;
// m_setDlg=;
/////////////////////////////////////////////////////////////////////////////
// CSingleSetDlg dialog
extern CMyDlg* m_setDlg=new CMyDlg;
CSingleSetDlg::CSingleSetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSingleSetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSingleSetDlg)
m_dan = _T( " ");
m_ennum = _T( " ");
m_expand = _T( " ");
m_name = _T( " ");
m_value = _T( " ");
flag = FALSE;
//}}AFX_DATA_INIT
}
void CSingleSetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSingleSetDlg)
DDX_Text(pDX, IDC_DAN, m_dan);
DDX_Text(pDX, IDC_ENNUM, m_ennum);
DDX_Text(pDX, IDC_EXPAND, m_expand);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_VALUE, m_value);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSingleSetDlg, CDialog)
//{{AFX_MSG_MAP(CSingleSetDlg)
ON_EN_CHANGE(IDC_ENNUM, OnkillfocusEnnum)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSingleSetDlg message handlers
void CSingleSetDlg::OnOK()
{
// TODO: Add extra validation here
m_setDlg-> m_singleset.InsertItem(0, "1 ");
m_setDlg-> m_singleset.SetItemText(0,1,m_ennum);
我有两个对话框,对应的有两个类 ,一个是CMyDlg 一个是 CSingleSetDlg
CMyDlg 中有个为IDC_LIST1的控件,对他加了个叫m_singleset的变量(CListCTrl类型的)
然后我用CSingleSetDlg对应的对话框 中创建了5个编辑框 ,名字分别为m_ennum m_name m_dan
m_expand m_value ,他们都是(cstring)类型的
意思就是说我在这对话框的五个编辑框中写入一些数据,然后显示到弹出这对话框的 那个父对话框中的clist ctrl 控件中.虽然编译通过了 运行老出错 ,有高手可以教下我吗 谢谢了
下面是我写的部分代码
class CMyDlg : public CDialog
{
// Construction
public:
CSetiniDlg(CView *pView);
CString m_dynamictest;
CString m_bin;
CString m_show2;
CString m_show1;
CString m_open1;
CString m_statictest;
int multi_i;
int open_i;
int single_i;
CMyDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CMyDlg)
enum { IDD = IDD_MY_DIALOG };
CListCtrl m_openset;
CListCtrl m_multiset;
CListCtrl m_singleset;
//}}AFX_DATA
另外一段
#include "stdafx.h "
#include "º½µçϵͳ²âÊÔ.h "
#include "SingleSetDlg.h "
#include "º½µçϵͳ²âÊÔDlg.h "
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CListCtrl* m_setDlg;
// m_setDlg=;
/////////////////////////////////////////////////////////////////////////////
// CSingleSetDlg dialog
extern CMyDlg* m_setDlg=new CMyDlg;
CSingleSetDlg::CSingleSetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSingleSetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSingleSetDlg)
m_dan = _T( " ");
m_ennum = _T( " ");
m_expand = _T( " ");
m_name = _T( " ");
m_value = _T( " ");
flag = FALSE;
//}}AFX_DATA_INIT
}
void CSingleSetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSingleSetDlg)
DDX_Text(pDX, IDC_DAN, m_dan);
DDX_Text(pDX, IDC_ENNUM, m_ennum);
DDX_Text(pDX, IDC_EXPAND, m_expand);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_VALUE, m_value);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSingleSetDlg, CDialog)
//{{AFX_MSG_MAP(CSingleSetDlg)
ON_EN_CHANGE(IDC_ENNUM, OnkillfocusEnnum)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSingleSetDlg message handlers
void CSingleSetDlg::OnOK()
{
// TODO: Add extra validation here
m_setDlg-> m_singleset.InsertItem(0, "1 ");
m_setDlg-> m_singleset.SetItemText(0,1,m_ennum);