现在的情景是这样的,我的左边是一个树,然后我的界面被分成四个部分,其它三部分都是view,我要把树上的一个节点拖拽到一个view里面显示,那两个view中不能显示,这时,我要把我的鼠标状态给改下一下,如果是这个可以显示的view,我就把鼠标变化一个图案,如果不是就是一个另外一下图案,问题就是:
我如何判断我的鼠标到这三个view的时候,我是有拖拽东西过来的呢?这个事件是什么呢?谢谢

解决方案 »

  1.   

    http://www.vckbase.com/document/viewdoc/?id=1302
      

  2.   

    http://blog.csdn.net/wei8265/archive/2007/06/06/1641450.aspx
      

  3.   

    必须设置view的Accept Files属性,具体见上一个链接。
    这里再给一个平时收集的,现在看来还真有用,呵呵
    http://blog.csdn.net/starlee/archive/2007/01/03/1472710.aspx
      

  4.   

    不是楼上的链接那种效果啊,就是我要得到鼠标拖着东西经过view时,应该是什么事件呢?注意是处于拖拽状态的判断
      

  5.   

    CView的以下几个方法用来处理拖动:
    virtual DROPEFFECT OnDragEnter(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
    virtual void OnDragLeave();
    virtual BOOL OnDrop(COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point);
    virtual DROPEFFECT OnDragOver(COleDataObject* pDataObject, DWORD dwKeyState, CPoint point);
    其中可以在OnDragEnter时判断是否允许拖动,不允许的话使用SetCursor(AfxGetApp()->LoadCursorW(...))更改鼠标手势
      

  6.   

    加一个BOOL LDown;标记一下。
    按下鼠标左键LDown = TRUE;
    弹起鼠标左键LDown = FALSE;void CMyDlg::OnMouseMove(UINT nFlags, CPoint point)
    {
    if(LDown == TRUE)
    判断鼠标位置……
    }
      

  7.   

    设置标记,在LButtonDown和LButtonUp里设置标记的状态