Hello Experts ! Problem in inserting items in one CListCtrl based on another CLisTCtrl
Hello Experts and ALiR,
I have 2 ClistCtrls and both are sublassed
CMyListCtrlOne and
CMyListCtrlTwo.
In the CFromView ,I am initilaizing the column ,width and also add
items for CMyListCtrlOne
and for the CMyListCtrlTwo I am I am initilaizing the column ,width
only.
and When I click any item related to CMyListCtrlOne ,in the OnClcik
handler I get the row and data.
Now I want to add this data in the second list CMyListCtrlTwo
Here is the code.....Tell me where I am going wrong.
After running this app I get a debug assertion
file name:afxcmn.inl
line no:142
Thanks in advance
Tom
In CFormView.cpp
---------------------------
void CMCView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
m_myListCtrl.SetExtendedStyle( LVS_EX_FULLROWSELECT);
CString buffer[4][3] = {
"Item1","kp","30",
"Item2","sp","20",
"Item3","dp","40",
"Item4","lp","50"
};
// ResizeParentToFit();
//First CListCtrl1
m_myListCtrl.InsertColumn(0, "Column 1");
m_myListCtrl.InsertColumn(1, "Column 2");
m_myListCtrl.InsertColumn(2, "Column 3");
m_myListCtrl.SetColumnWidth(0, 100);
m_myListCtrl.SetColumnWidth(1, 100);
m_myListCtrl.SetColumnWidth(2, 100);
//Second CListCtrl1
m_myListSeriesCtrl.InsertColumn(0, "Column 11");
m_myListSeriesCtrl.InsertColumn(1, "Column 22");
m_myListSeriesCtrl.InsertColumn(2, "Column 33");
m_myListSeriesCtrl.SetColumnWidth(0, 100);
m_myListSeriesCtrl.SetColumnWidth(1, 100);
m_myListSeriesCtrl.SetColumnWidth(2, 100);
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i=0;i < 10;i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(
LVIF_TEXT|LVIF_STATE, i, strText,
(i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,
0, 0);
// Initialize the text of the subitems.
for (int j=1;j < nColumnCount;j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
}
In First CListCtrl1 onClick()
void CMyListCtrl::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
// AfxMessageBox("CMyListCtrl:: OnClick");
CString strMessage;
*pResult = 0;
int nRow = GetNextItem(-1, LVNI_SELECTED);
strMessage.Format("Row selected is % d ",nRow +1);
AfxMessageBox(strMessage);
CString ItemData1= GetItemText(nRow,0);
//AfxMessageBox(ItemData1);
CString ItemData2= GetItemText(nRow,1);
//AfxMessageBox(ItemData2);
CString ItemData3= GetItemText(nRow,2);
AfxMessageBox(ItemData1 + ItemData2 + ItemData3);
//Adding items in the second list control
m_myListSeriesCtrl.InsertItem(0,"1234");
m_myListSeriesCtrl.SetItemText(0, 1, "12341");
m_myListSeriesCtrl.SetItemText(0, 2, "12341");
}