VC的MFC关于子窗口中的列表控件(LIST控件)在主窗口中调用问题,悬赏!!!
基于对话框的主窗口和子窗口程序。子窗口是非模态的。我在主窗口中创建一个按键(key),当按下此按键后弹出一个子窗口(Dlg1),在Dlg1中我有个LISTControl的...
基于对话框的主窗口和子窗口程序。子窗口是非模态的。
我在主窗口中创建一个按键(key),当按下此按键后弹出一个子窗口(Dlg1),在Dlg1中我有个LIST Control的列表控件(m_CalList)。
我想按下key后在弹出的子窗口Dlg1的列表中显示我预定的数据,其中我在Dlg1的类中手动添加了OnInitDialog()函数,并在里面对LIST控件进行了初始化,并且LIST是以report的方式显示)。具体如下:
1. m_CalList.InsertColumn(0,"变量名称",LVCFMT_LEFT,120);
2. m_CalList.InsertColumn(1,"描述",LVCFMT_LEFT,120);
m_CalList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_CalList.InsertItem(1,"Time");
m_CalList.SetItemText(1,1,"喷油定时");
为什么编译能通过,但运行时,我点击Key键,总会出现弹出“终止、忽略、重试”对话框的错误。
我在1.和2.处设置断点,然后DEBUG,会发现,在1.处断点停止,错误貌似是this句柄的值与Dlg1的句柄值不同,这个问题怎么解决呢?
我这个问题与下面的问题类似,但从那个问题,我无法得到有用的信息:http://zhidao.baidu.com/question/61544090.html?an=0&si=1
求帮助!!!! 展开
我在主窗口中创建一个按键(key),当按下此按键后弹出一个子窗口(Dlg1),在Dlg1中我有个LIST Control的列表控件(m_CalList)。
我想按下key后在弹出的子窗口Dlg1的列表中显示我预定的数据,其中我在Dlg1的类中手动添加了OnInitDialog()函数,并在里面对LIST控件进行了初始化,并且LIST是以report的方式显示)。具体如下:
1. m_CalList.InsertColumn(0,"变量名称",LVCFMT_LEFT,120);
2. m_CalList.InsertColumn(1,"描述",LVCFMT_LEFT,120);
m_CalList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_CalList.InsertItem(1,"Time");
m_CalList.SetItemText(1,1,"喷油定时");
为什么编译能通过,但运行时,我点击Key键,总会出现弹出“终止、忽略、重试”对话框的错误。
我在1.和2.处设置断点,然后DEBUG,会发现,在1.处断点停止,错误貌似是this句柄的值与Dlg1的句柄值不同,这个问题怎么解决呢?
我这个问题与下面的问题类似,但从那个问题,我无法得到有用的信息:http://zhidao.baidu.com/question/61544090.html?an=0&si=1
求帮助!!!! 展开
展开全部
可以将数字转化成字符串然后显示到控件上,在获取数据便可以了
eg.
CString str;
str.Format(_T(“%d”), 4);
.AddString(str);
你可以使用泛型集合List<int>或List<double>添加到 List Box
中,首先你把int或double的数据添加到泛型集合中,然后再把泛型集合填充到 List Box就可以了!
eg.
CString str;
str.Format(_T(“%d”), 4);
.AddString(str);
你可以使用泛型集合List<int>或List<double>添加到 List Box
中,首先你把int或double的数据添加到泛型集合中,然后再把泛型集合填充到 List Box就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
非模态对话你是如何弹出的呢?
可以动态创建, CDlg1 *pDlg1 = new CDlg1;
pDlg1->Create(ID_*****);
pDlg1->ShowWindow(SW_NORMAL);
如果你对话框没有创建出来,肯定有问题的,列表框加到子对话框中,会进行DDX执行,如果子对话框指针this不合法,其内部列表控件无法寄存的。
肯定是哪里ASSERT通不过了!
此类问题属于常见问题
可以动态创建, CDlg1 *pDlg1 = new CDlg1;
pDlg1->Create(ID_*****);
pDlg1->ShowWindow(SW_NORMAL);
如果你对话框没有创建出来,肯定有问题的,列表框加到子对话框中,会进行DDX执行,如果子对话框指针this不合法,其内部列表控件无法寄存的。
肯定是哪里ASSERT通不过了!
此类问题属于常见问题
追问
恩,是动态创建的,和你的代码一样,最后弹出的错误对话框也是debug assertion failed!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CListCtrl::InsertItem的起始值是0,m_CalList.InsertItem(1,"Time"); 应该是0。
你的CListCtrl是怎么创建的?跟窗口上的List相关联了吗?
你的CListCtrl是怎么创建的?跟窗口上的List相关联了吗?
更多追问追答
追问
哦,是的,但这个不是运行失败的原因,谢谢啦!
追答
那你的m_CalList是怎么创建的呢?有关联到窗口控件吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询