wordpress给分类做模板,企业网站seo策略,免费北京网站建设,无障碍网站建设调用DragAcceptFiles#xff0c;让控件或者窗体支持文件拖动操作
void DragAcceptFiles(HWND hWnd, //指明目标窗体的句柄BOOL fAccept //为True时 则hWnd所指向的窗体可以接受拖放的文件.
);窗口消息过程处理WM_DROPFILES消息。
在WM_DROPFILES消息处理过程中让控件或者窗体支持文件拖动操作
void DragAcceptFiles(HWND hWnd, //指明目标窗体的句柄BOOL fAccept //为True时 则hWnd所指向的窗体可以接受拖放的文件.
);窗口消息过程处理WM_DROPFILES消息。
在WM_DROPFILES消息处理过程中wParam参数的值为HDROP通过调用DragQueryFile获得拖拽的文件个数和文件名对文件进行相应的操作处理后调用DragFinish函数释放缓冲区完成拖拽操作。
UINT DragQueryFile(HOROD hDrop,UINT iFile,LPTSTR lpszFile,UINT cch,
);返回值
非零值表示调用成功。
当函数将文件名复制到缓冲区时返回值是复制的字符计数不包括终止 null 字符。
如果索引值为0xFFFFFFFF则返回值是已拖放文件的计数。 请注意索引变量本身返回不变因此保持0xFFFFFFFF。
如果索引值介于零和已拖放文件总数之间并且 lpszFile 缓冲区地址为 NULL则返回值是缓冲区所需的大小以字符为单位 不包括 终止 null 字符。
参数说明 hDrop是一个文件名缓冲区句柄。 iFile指明查询文件序号。取值0xFFFFFFFF时函数返回值为所拖放文件数目其他取值(0~文件拖放总数)获取对应序号的文件名的缓冲区地址。 lpszFile取值为NULL时函数返回对应文件名的长度。
DragFinish函数声明拖放操作结束释放文件名缓冲区。
void DragFinish(HDROP hDrop)例子
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{switch (uMsg){case WM_CREATE:DragAcceptFiles(hWnd, TRUE);//接受拖放事件设置break;case WM_DROPFILES:{HDROP hdrop (HDROP)wParam;char sDropFilePath[MAX_PATH1];int iDropFileNums 0;iDropFileNums DragQueryFile(hdrop, 0xFFFFFFFF, NULL, 0);//获取拖放文件个数for (int i0; iiDropFileNums; i)//分别获取拖放文件名(针对多个文件操作){ DragQueryFile(hdrop, i, sDropFilePath, sizeof(sDropFilePath)); }//DragQueryFile(hdrop, 0, sDropFilePath, MAX_PATH);//分别获取拖放文件名(针对单个文件操作) DragFinish(hdrop);//释放文件名缓冲区 }break;default:break; }
}
参考地址http://kaifa.yiyuen.com/kaifa/article/57e5812eb98d3c3339d5fa7d7c99f5b8