当前位置:首页 > 编程开发

文件拖动

webgou17年前 (2010-05-13)编程开发464
VC6.0中实现文件拖拽- - 我们经常使用到文件拖拽的方法,来对某一个或者某一些文件进行操作。 在VC中,我们可以不利用打开文件对话框来选择文件,从而对文件进行操作,我们也可以使用拖拽来实现这样的功能。具体如下: 1.首先,把一个对话框或者窗体的扩展属性【接受文件】勾选上。(即WS_EX_ACCEPTFILES) 2.我们对WM_DROPFILES消息进行处理。 在这里我们使用到了一个API函数:DragQueryFile,它的原型如下: [CODE_LITE] UINT DragQueryFile( HDROP hDrop, UINT iFile, LPTSTR lpszFile, UINT cch ); [/CODE_LITE] 当第二个参数iFile为 0xFFFFFFFF 时返回的是拖曳到窗体上的文件的个数。 第三个参数是文件名,第四个参数是文件名的长度。 具体使用方法: [CODE_LITE] unsigned int count; char filepath[100]; count=::DragQueryFile(hDropInfo,0xFFFFFFFF,NULL,NULL); //首先获取文件的个数。 if(count) { for(unsigned int i=0;iMessageBox(filepath); } } [/CODE_LITE] 就是这么简单! 当我们把一个窗体的标题栏去掉以后,如果需要左键移动窗体的位置,只需要在处理WM_LBUTTONDOWN 消息的代码中加入: [CODE_LITE] PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y)); void CCHTMLOptimizerDlg::OnDropFiles(HDROP hDropInfo) { UINT nCount = ::DragQueryFile(hDropInfo,0xFFFFFFFF,NULL,0); UINT i; CString strFileName; for(i=0;i

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=160

标签: vc
分享给朋友:

“文件拖动” 的相关文章

任务和javac命令是相似,它编译两种类型

文章出自:http://xo-tobacoo.javaeye.com/blog/185019<javac>任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件。1)jav…

c++智能指针的创建

zero 坐在餐桌前,机械的重复“夹菜 -> 咀嚼 -> 吞咽”的动作序列,脸上用无形的大字写着:我心不在焉。在他的对面坐着 Solmyr ,慢条斯理的吃着他那份午餐,维持着他一贯很有修养的形象 ——— 或者按照 zero 这些熟悉他本质的人的说法:假象。 “怎么了 zero ?胃口不好…

fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

   C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version of the compiler, 解决办法…

c++运算符优先级

1 :: 左 2 . -˃ [] () 左 3 ++ -- ~ ! - + & * () sizeof new delete castname_cast 单目操作符 右 ...…

线程

线程是由两个部分组成的: * 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放 线程统计信息的地方。 * 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量 进程是不活泼的。进程从来不执行任何东西,它只是线程的…

CreateWindow

搜索DS_FIEXDSYS时,还有些其它window属性。路过,记下…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。