#include "SortList1.h"
CSortList* m_psortlist;
void CDragTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
// what item got selected?
TV_ITEM SelectedItem;
SelectedItem.hItem=pNMTreeView->itemNew.hItem;
GetItem(&SelectedItem);
if(!SelectedItem.cChildren)
m_psortlist->DeleteAllItems(); //一到这里就说没有创建窗口,到底要怎么使用另一个类中的函数?
HTREEITEM CurItem=GetSelectedItem();
CString temp=GetItemText(CurItem);
CString str=GetItemPath(CurItem,temp);
m_psortlist->InsertListItem(str);//一到这里就说没有创建窗口,到底要怎么使用另一个类中的函数? *pResult = 0;
}
CSortList* m_psortlist;
void CDragTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
// what item got selected?
TV_ITEM SelectedItem;
SelectedItem.hItem=pNMTreeView->itemNew.hItem;
GetItem(&SelectedItem);
if(!SelectedItem.cChildren)
m_psortlist->DeleteAllItems(); //一到这里就说没有创建窗口,到底要怎么使用另一个类中的函数?
HTREEITEM CurItem=GetSelectedItem();
CString temp=GetItemText(CurItem);
CString str=GetItemPath(CurItem,temp);
m_psortlist->InsertListItem(str);//一到这里就说没有创建窗口,到底要怎么使用另一个类中的函数? *pResult = 0;
}
我不知道你声明的m_psortlist这个全局变量在什么地方得到了初始化!!
要不把他声明为类的成员变量!
class CDragTree : public CTreeCtrl
{
protected:
CSortList* m_pSortList;
我知道没有初始化,就是不知该怎样写?
这样写为什么不对?
void CDragTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
m_pSortList=(CSortList*)GetDlgItem(IDC_LIST);
if(m_pSortList==NULL) return ; //执行return
一般在CDRAGTREE类的ONCREATE()函数里面调用M_PSORTLIST的CREATE函数,
还有,你这个指针赋值了没?
没有内容,你deleteall啥啊?
你的m_PSortList 应该是一个Listctrl并在对话框模板中,你不需要create,而只需将m_pSortList与ListCtrl进行绑定即可。