基于C语言Win32API的可视化界面的qaac【1】
来源:互联网 发布:淘宝收到法院传票 编辑:程序博客网 时间:2024/06/06 06:51
今天完成了拖拽部分,实现了将文件拖拽进入程序窗口,读出拖入文件数量和路径,核心代码如下:
- 在窗口建立时,使用DragAcceptFiles函数使窗口可以响应拖拽。
DragAcceptFiles(hwnd, TRUE);
- 消息循环中响应WM_DROPFILES
case WM_DROPFILES: OnDropFiles(hwnd, (HDROP)wParam); break;
- OnDropFiles函数中,使用DragQueryFile函数读取文件内容。
VOID OnDropFiles(HWND hwnd, HDROP hDropInfo) { UINT nFileCount = DragQueryFile(hDropInfo, (UINT)-1, NULL, 0); //查询一共拖拽了几个文件 TCHAR* szFileNameList = (TCHAR*)malloc(sizeof(TCHAR)*MAX_PATH*nFileCount); UINT i; TCHAR* temp = szFileNameList; for(i=0;i<MAX_PATH*nFileCount;i++) { *temp++ = 0; } for(i=0;i<nFileCount;i++) { DragQueryFile(hDropInfo, i, szFileNameList+MAX_PATH*i, sizeof(TCHAR)*MAX_PATH); //打开拖拽文件 } //完成拖入文件操作,系统释放缓冲区 DragFinish(hDropInfo); }
DragQueryFile函数
UINT DragQueryFile( _In_ HDROP hDrop, _In_ UINT iFile, _Out_ LPTSTR lpszFile, UINT cch);
参数
hDrop [in]
Type: HDROP
拖拽文件的传入结构,保存在wParam参数中。iFile [in]
Type: UINT
所查询文件的索引,如果有3个文件,那么第一个文件此参数是0,第二个是1,第三个是2。
如果此参数是-1,函数返回拖入文件数目。如果此参数大于等于0,函数把索引指向的文件的文件名复制到第三个参数所指地址中。lpszFile [out]
Type: LPTSTR
接收文件名的地址。如果此参数是NULL,函数返回需要的字符串大小。cch
Type: UINT
第三个参数对应缓冲区的大小。返回值
Type: UINT
函数调用成功将返回一个非0值。
若函数成功将文件名复制到buffer,返回值是复制的字符数,不包括\0。
0 0
- 基于C语言Win32API的可视化界面的qaac【1】
- 基于C语言Win32API的可视化界面的qaac
- 基于PyQt5的数据库可视化操作界面
- 基于Linux C语言的字符界面《推箱子》
- 基于Win32API的异步串口通信
- 基于Eclipse的Go语言可视化开发环境
- 基于ggplot2的R 语言数据可视化(一)
- Oracle数据库的可视化界面
- 实现基于浏览器的可视化编程(1)
- 基于C语言的万年历
- 巧妙的实现点阵图形显示可视化编程(C语言)
- SOM基于图的可视化
- 基于caffe的特征可视化
- 基于Anaconda的tensorboard可视化
- dui框架开发系列:基于控件组合或继承实现 可视化界面编辑工具 的优劣
- Win32API 的使用实例
- UML是可视化的语言
- R语言相关系数的可视化
- AttributeError: 'module' object has no attribute 'imsave'
- Linux开发九_按键驱动
- hdu1540线段shu
- RSA加密解密及RSA签名和验证
- Gvim的字体、颜色、背景设置
- 基于C语言Win32API的可视化界面的qaac【1】
- gvim关闭菜单栏和工具栏
- SpringMVC学习(7):处理模型数据
- Vim插件之YankRing
- 算法课第九周作业 | Arithmetic Slices
- 一个简单的弹出提示框的依赖库
- git配置路上的那些坑
- 排序算法
- 阿里巴巴 JAVA 开发手册