Probleme mit Drag and Drop in einer CTreeView
-
Hallo,
ich wollte in meiner Anwendung das Drag&Drop Verfahren ermöglichen. Hierbei habe ich nun das Problem, dass er bei dem Befehl CreateDragImage immer NULL zurück gibt.
Dementsprechend knallt es beim ausführen der Anwendung.
Leider hab ich keine Idee mehr woran der Fehler liegen kann.
Hier mal ein wenig Code:void CToDoListTreeView::OnBegindrag(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen int nOffset = 10; CPoint point; HTREEITEM hItem = pNMTreeView->itemNew.hItem; if(m_DraggingImageList) delete m_DraggingImageList; if(hItem != NULL) { point.x = nOffset; point.y = nOffset; // Ziehimage erstellen m_DraggingImageList = GetTreeCtrl().CreateDragImage(hItem); // Hier wird NULL Zurück gegeben ASSERT(m_DraggingImageList); // Cursor zum Ziehcursor ändern //VERIFY(this->m_DraggingImageList->BeginDrag(0,CPoint(nOffset, nOffset))); //VERIFY(this->m_DraggingImageList->DragEnter(GetDesktopWindow(),pNMTreeView->ptDrag)); this->m_bDragging = true; this->m_nDragSourceIndex = -1; //SetCapture(); } *pResult = 0; }
-
Und die Ursache ist, dass ich für das CTreeView keine ImageList verwende
If you create a tree-view control without an associated image list, you cannot use the TVM_CREATEDRAGIMAGE message to create the image to display during a drag operation. You must implement your own method of creating a drag cursor.