我的程序首先是使用TAB控件,包括有几个页面,页面一是串口通信程序;页面二是一个列表控件;
首先页面二的初始化中队列表控件进行部分赋值m_ListCtrl.InsertColumn(0,"通道选择",LVCFMT_LEFT,110,0);
m_ListCtrl.InsertColumn(0,"通道选择",LVCFMT_LEFT,110,0);
m_ListCtrl.InsertColumn(1,"26KH_RE",LVCFMT_LEFT,110,1);
m_ListCtrl.InsertColumn(2,"26KH_IM",LVCFMT_LEFT,110,2);
m_ListCtrl.InsertColumn(3,"13KH_RE",LVCFMT_LEFT,110,3);
m_ListCtrl.InsertColumn(4,"13KH_IM",LVCFMT_LEFT,110,4);
    m_ListCtrl.InsertColumn(5,"增益",LVCFMT_LEFT,110,5);
int i,j,x;
CString   S[64]={"COILX_CH0","COILX_CH1","COILX_CH2","COILX_CH3","COILX_CH4","COILX_CH5","COILX_CH6","COILX_CH7","COILX_CH8",   "COILX_CH9","COILX_CH10","COILX_CH11","COILX_CH12","COILX_CH13","COILX_CH14","COILX_CH15","COILX_CH16","COILX_CH17",
   "COILX_CH18","COILX_CH19","COILX_CH20","COILY_CH0","COILY_CH1","COILY_CH2","COILY_CH3","COILY_CH4","COILY_CH5","COILY_CH6",    "COILY_CH7","COILY_CH8","COILY_CH9","COILY_CH10","COILY_CH11","COILY_CH12","COILY_CH13","COILY_CH14","COILY_CH15","COILY_CH16",    "COILY_CH17","COILY_CH18","COILY_CH19","COILY_CH20","COILZ_CH0","COILZ_CH1","COILZ_CH2","COILZ_CH3","COILZ_CH4","COILZ_CH5","COILZ_CH6",   "COILZ_CH7","COILZ_CH8","COILZ_CH9","COILZ_CH10","COILZ_CH11","COILZ_CH12","COILZ_CH13","COILZ_CH14","COILZ_CH15","COILZ_CH16","COILZ_CH17", "COILZ_CH18","COILZ_CH19","COILZ_CH20","校验和"};
for(i=0;i<64;i++)
    {
m_ListCtrl.InsertItem(i, "");
m_ListCtrl.SetItemText(i, 0, S[i]);
    }
我要将串口接受的数据,拼成一个数组;然后对列表中其余的项目进行赋值。我是在页面一的串口通信ONCOMM函数中进行赋值的,   CString string[320];
      for(i=0;i<320;i++)
  {
      string[i].Format("%d",longdata[i]);
  }
   for(i=0;i<64;i++)
   {

     for(j=1;j<6;j++)
 {
      x=5*i+j-1;
        PAGE2.m_ListCtrl.SetItemText(i, j, string[x]);
 }
   }编译没有出现错误,在调试的过程中出现一个错误:Debug Assertion failed;
                       program:D:\(程序存放地址)
                       file:winctrl2.cpp
                       line:493点击RETRY按钮出现如下信息:BOOL CListCtrl::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)
{
ASSERT(::IsWindow(m_hWnd));
ASSERT((GetStyle() & LVS_OWNERDATA)==0);:有箭头指向这一行
LVITEM lvi;
lvi.iSubItem = nSubItem;
lvi.pszText = (LPTSTR) lpszText;
return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMTEXT, nItem, (LPARAM)&lvi);
}我想问一下,这应该处理?
我要是在页面二对列表控件其余项目进行赋值,要怎样写函数才可以实时更新剩余的列表控件项目?

解决方案 »

  1.   

    下面这个数组只有63个。CString S[64]={"COILX_CH0","COILX_CH1","COILX_CH2","COILX_CH3","COILX_CH4","COILX_CH5","COILX_CH6","COILX_CH7","COILX_CH8", "COILX_CH9","COILX_CH10","COILX_CH11","COILX_CH12","COILX_CH13","COILX_CH14","COILX_CH15","COILX_CH16","COILX_CH17",
    "COILX_CH18","COILX_CH19","COILX_CH20","COILY_CH0","COILY_CH1","COILY_CH2","COILY_CH3","COILY_CH4","COILY_CH5","COILY_CH6", "COILY_CH7","COILY_CH8","COILY_CH9","COILY_CH10","COILY_CH11","COILY_CH12","COILY_CH13","COILY_CH14","COILY_CH15","COILY_CH16", "COILY_CH17","COILY_CH18","COILY_CH19","COILY_CH20","COILZ_CH0","COILZ_CH1","COILZ_CH2","COILZ_CH3","COILZ_CH4","COILZ_CH5","COILZ_CH6", "COILZ_CH7","COILZ_CH8","COILZ_CH9","COILZ_CH10","COILZ_CH11","COILZ_CH12","COILZ_CH13","COILZ_CH14","COILZ_CH15","COILZ_CH16","COILZ_CH17", "COILZ_CH18","COILZ_CH19","COILZ_CH20","校验和"};