串口通信中CListCtrl解决方法
串口通信中CListCtrl
我做的串口通信,我想在没有接收到数据时让CListCtrl中每个格都显示 "// ",当接收到数据时替换掉,下面是我在初始化时写的代码,可是运行时只有第一行都显示 '// ',其它的都没有显示 "// "? 还有当来数据时我怎么让数据替换掉 '// '? 我刚学VC++,希望有会的把代码帮我改一下,马上给分
int nCount = m_hListMinuteData.GetItemCount(); //获取项目的总数,插入行
int row = m_hListMinuteData.InsertItem( nCount, "// " ); //InsertItem用于向列表控件插入一行并设置第零列的值
m_hListMinuteData.SetItemText(row,1, "// ");//SetItemText来设置其它列的数据。
m_hListMinuteData.SetItemText(row,2, "// ");
m_hListMinuteData.SetItemText(row,3, "// ");
m_hListMinuteData.SetItemText(row,4, "// ");
m_hListMinuteData.SetItemText(row,5, "// ");
m_hListMinuteData.SetItemText(row,6, "// ");
m_hListMinuteData.SetItemText(row,7, "// ");
m_hListMinuteData.SetItemText(row,8, "// ");
m_hListMinuteData.InsertColumn(1, "// ",LVCFMT_LEFT,nCount);//插入列
m_hListMinuteData.InsertColumn(2, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(3, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(4, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(5, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(6, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(7, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(8, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.SetItemData(row,nCount);
------解决方案--------------------
//要先插入列,
m_hListMinuteData.InsertColumn(0, "列名 ",LVCFMT_LEFT,宽度);//插入列
....
m_hListMinuteData.InsertColumn(9, "列名 ",LVCFMT_LEFT,宽度);//10列插完
//插入行
//*************
int row = m_hListMinuteData.InsertItem(0, "// " ); //插入行,并给第一列赋值
//设置每列的显示
m_hListMinuteData.SetItemText(row, 1, "// ");
.....
m_hListMinuteData.SetItemText(row, 9, "// "); //第十列赋值
//***********
//继续插入行,需要多少行重复多少次
//修改
m_hListMinuteData.SetItemText(2, 1, "aa "); //设置第3行第2列的值
//注意:列、行的下标从0还是从1开始,不记得了
我做的串口通信,我想在没有接收到数据时让CListCtrl中每个格都显示 "// ",当接收到数据时替换掉,下面是我在初始化时写的代码,可是运行时只有第一行都显示 '// ',其它的都没有显示 "// "? 还有当来数据时我怎么让数据替换掉 '// '? 我刚学VC++,希望有会的把代码帮我改一下,马上给分
int nCount = m_hListMinuteData.GetItemCount(); //获取项目的总数,插入行
int row = m_hListMinuteData.InsertItem( nCount, "// " ); //InsertItem用于向列表控件插入一行并设置第零列的值
m_hListMinuteData.SetItemText(row,1, "// ");//SetItemText来设置其它列的数据。
m_hListMinuteData.SetItemText(row,2, "// ");
m_hListMinuteData.SetItemText(row,3, "// ");
m_hListMinuteData.SetItemText(row,4, "// ");
m_hListMinuteData.SetItemText(row,5, "// ");
m_hListMinuteData.SetItemText(row,6, "// ");
m_hListMinuteData.SetItemText(row,7, "// ");
m_hListMinuteData.SetItemText(row,8, "// ");
m_hListMinuteData.InsertColumn(1, "// ",LVCFMT_LEFT,nCount);//插入列
m_hListMinuteData.InsertColumn(2, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(3, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(4, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(5, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(6, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(7, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.InsertColumn(8, "// ",LVCFMT_LEFT,nCount);
m_hListMinuteData.SetItemData(row,nCount);
------解决方案--------------------
//要先插入列,
m_hListMinuteData.InsertColumn(0, "列名 ",LVCFMT_LEFT,宽度);//插入列
....
m_hListMinuteData.InsertColumn(9, "列名 ",LVCFMT_LEFT,宽度);//10列插完
//插入行
//*************
int row = m_hListMinuteData.InsertItem(0, "// " ); //插入行,并给第一列赋值
//设置每列的显示
m_hListMinuteData.SetItemText(row, 1, "// ");
.....
m_hListMinuteData.SetItemText(row, 9, "// "); //第十列赋值
//***********
//继续插入行,需要多少行重复多少次
//修改
m_hListMinuteData.SetItemText(2, 1, "aa "); //设置第3行第2列的值
//注意:列、行的下标从0还是从1开始,不记得了