Exemplo n.º 1
0
Arquivo: tree.c Projeto: why0603/angel
void DestroyTree(TreePtr tree)
{
	CleanTree(tree);
	if (NULL != tree)
	{
		free(tree);
	}
}
Exemplo n.º 2
0
void CRIFFChunkTreeDlg::OnDestroy()
{
	CleanTree(&m_Tree, NULL);

	source->Disable(CACHE_THREADSAFE);
//	DeleteCriticalSection(&critical_section);
	DeleteCriticalSection(&cs);

	CResizeableDialog::OnDestroy();

	// TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein.
}
Exemplo n.º 3
0
void CleanTree(CTreeCtrl* tree, HTREEITEM hParent)
{
	HTREEITEM hChild;

	if (hParent)
		hChild = tree->GetChildItem(hParent);
	else
		hChild = tree->GetRootItem();

	while (hChild) {
		CleanTree(tree, hChild);
		hChild = tree->GetNextSiblingItem(hChild);
	}

	if (hParent) {
		TVITEM item;
		item.mask = TVIF_PARAM | TVIF_HANDLE;
		item.hItem = hParent;
		tree->GetItem(&item);
		void* p = (void*)item.lParam;
		if (p)
			delete p;
	}
}