有关CTreeCtrl拖拽的问题,请教!
下面是有关拖拽的源代码,但是拖拽的时候拖拽的图标离鼠标有比较大的距离,不知道是怎么回事
各位大哥大姐能不能指点一下啊??
void CXTreeCtrl::OnBegindrag(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
//Èç¹ûÊÇÎÞÒâÍÏÒ·£¬Ôò·ÅÆú²Ù×÷
if( (GetTickCount() - m_dwDragStart) < DRAG_DELAY )
return;
m_hItemDragS = pNMTreeView->itemNew.hItem;
m_hItemDragD = NULL;
//µÃµ½ÓÃÓÚÍ϶¯Ê±ÏÔʾµÄͼÏóÁбí
m_pDragImage = CreateDragImage( m_hItemDragS );
if( !m_pDragImage )
return;
m_bDragging = true;
m_pDragImage->BeginDrag ( 0, CPoint(8,8));
CPoint pt = pNMTreeView->ptDrag;
ClientToScreen( &pt );
m_pDragImage->DragEnter ( NULL,pt); //"this"½«ÍÏÒ·¶¯×÷ÏÞÖÆÔڸô°¿Ú
SetCapture();
m_nScrollTimerID = SetTimer( 2,40,NULL );
}