Re: Ali R Can you guide me in this problem ??
<nicetom786@yahoo.com> wrote in message
news:1147471734.277950.5850@v46g2000cwv.googlegroups.com...
AliR,
The function in First Control
SetOtherListCtrlPtr(&m_SecondListCtrl) will set the second list control
to ??????
You are misunderstanding what he is saying.
You currently have a member variable CMyListSeriesCtrl m_myListSeriesCtrl.
By declaring it this way you are actually creating another instance of the
control in addition to the one created in the CFormView. You don't want
another instance. You want instead to declared:
CMyListSeriesCtrl *m_pmyListSeriesCtrl
Then create a public function as AliR outlined.
void CMyListCtrl::SetOtherListCtrlPtr(CMyListSeriesCtrl *pListCtrl) {
m_pmyListSeriesCtrl = pListCtrl; }
So in CFormView::OnInitialUpdate call this method to set the pointer:
m_myListCtrl.SetOtherListCtrlPtr(&m_myListSeriesCtrl);
Now you have a pointer to the actual control that's part of the parent.
Now within your CMyListCtrl::OnClick you can call functions on
m_pmyListSeriesCtrl as you want to dynamically add elements to it.
---------------------
All that being said. It's probably better design to have the parent handle
this by catching the control event. It'd be much cleaner and less code to
do this in your CFormView instance.
In message map put:
ON_NOTIFY(NM_CLICK, IDC_MYLIST, OnMyListClick)
Fucntion would be
afx_msg void OnAccountsClick(NMHDR* pNMHDR, LRESULT* pResult);
I believe that would work. Then you could simply do the following in the
function.
void CFormView::OnAccountsClick(NMHDR* pNMHDR, LRESULT* pResult)
{
m_myListSeriesCtrl.InsertItem(0,"1234");
m_myListSeriesCtrl.SetItemText(0, 1, "12341");
m_myListSeriesCtrl.SetItemText(0, 2, "12341");
}
or whatever else you want to do there.