请问 win32 sdk 下想要实现鼠标拖拽获取路径, WM_DROPFILES 这个消息只响应Dialog的拖拽,但我想响应某个指定控件的消息怎么实现呢,求指导

解决方案 »

  1.   

    首先你得对这个控件子类化,用SetWindowLong
    然后就可以接收WM_DROPFILES消息了
      

  2.   

    鼠标拖拽文件到界面上的时候获取鼠标所在的位置POINT,然后获取你需要的控件的RECT,PtInRect这个函数判断鼠标是不是在指定区域内,然后就处理你需要的东西
      

  3.   

    COleDropTarget 可以的 可以网上搜搜这个类的介绍
      

  4.   

    char filePath[200];
    UINT count;
    count=DragQueryFile(hDropInfo,0xFFFFFFFF,NULL,0);
    if(count)
    {        
    for(UINT i=0; i<count; i++)
    {
    int pathLen = DragQueryFile(hDropInfo, i, (LPWSTR)filePath, sizeof(filePath));
    MessageBox((LPWSTR)filePath);
    }
    }
    DragFinish(hDropInfo);
    响应WM_OnDropFile 在里面添加就可以了