TreeViewDropTargetObserver::TreeViewDragMoved
virtual void TreeViewDragMoved (
const TreeViewDropTargetEvent & ev,
DragDrop::Effect * effect,
DragDrop::Feedback * denyFeedback
);
Parameters
- ev
A reference to the event. - effect
Drag and drop effect can take the following values: DragDrop::Reject, DragDrop::Accept, DragDrop::Copy, DragDrop::Move, DragDrop::Link, DragDrop::Delete. - denyFeedback
Use this parameter to control the amount of target feedback. Can take the following values: DragDrop::AcceptSelAndIns, DragDrop::RejectSelection, DragDrop::RejectInsertion, DragDrop::RejectSelAndIns.
Description
Example
// Method Example:
void DragTab2Observer::TreeViewDragMoved (const DG::TreeViewDropTargetEvent& ev, DG::DragDrop::Effect* effect,
DG::DragDrop::Feedback* denyFeedback)
{
long insertPosTreeItem = ev.GetInsertPosition ();
DG::TreeView* sourceTree = ev.GetTreeViewSource ();
if (sourceTree != NULL && !IsValidInsertionPos (ev, insertPosTreeItem)) {
*effect = DG::DragDrop::Reject;
*denyFeedback = DG::DragDrop::RejectSelAndIns;
return;
}
if (insertPosTreeItem != DG::TreeView::RootItem && insertPosTreeItem != DG::TreeView::NoItem) {
long size = tabPage->treeView.GetItemTextLength (insertPosTreeItem);
char* text = BMAllocatePtr (size, ALLOCATE_CLEAR, 0);
if (DBERROR (text == NULL))
return;
tabPage->treeView.GetItemText (insertPosTreeItem, text, size);
if (CHCompareASCII (text, ARCHICAD_TEXT) == 0) {
*denyFeedback = DG::DragDrop::RejectSelAndIns;
}
BMKillPtr (&text);
}
}Drag moved event handling in tree view controls.