类之间对象函数调用的有关问题
类之间对象函数调用的问题
有两个类CBSDlg,CMainDlg
CMainDlg中有一个ListCtrl,有一个函数InsertList()操作这个ListCtrl
在CBSDlg中,用
CMainDlg* pDlg=(CMainDlg*)AfxGetMainWnd();
pDlg-> InsertList()
可是运行报错,如果在CMainDlg中直接调用InsertList()是没有问题的.
可是pDlg-> InsertList()就无法对ListCtrl插入数据了,怎么办?
------解决方案--------------------
AfxGetMainWnd();是获得单文档Frame指针,如果你的对话框存在父子关系的话可以GetParent()获父对话框指针,如果不存在的话可以在构造函数中传递A对话框的指针到其他对话框中进行操作~:)
------解决方案--------------------
在CMainDlg中
CListCtrl list1;
在CBSDlg中
extern CListCtrl list1;
那么在CBSDlg中就可以直接用 list1.InsertList();
呵呵,这是不会的时候最好用于不同对话框数据互用的方法
有两个类CBSDlg,CMainDlg
CMainDlg中有一个ListCtrl,有一个函数InsertList()操作这个ListCtrl
在CBSDlg中,用
CMainDlg* pDlg=(CMainDlg*)AfxGetMainWnd();
pDlg-> InsertList()
可是运行报错,如果在CMainDlg中直接调用InsertList()是没有问题的.
可是pDlg-> InsertList()就无法对ListCtrl插入数据了,怎么办?
------解决方案--------------------
AfxGetMainWnd();是获得单文档Frame指针,如果你的对话框存在父子关系的话可以GetParent()获父对话框指针,如果不存在的话可以在构造函数中传递A对话框的指针到其他对话框中进行操作~:)
------解决方案--------------------
在CMainDlg中
CListCtrl list1;
在CBSDlg中
extern CListCtrl list1;
那么在CBSDlg中就可以直接用 list1.InsertList();
呵呵,这是不会的时候最好用于不同对话框数据互用的方法