对CEdit进行继承,支持DropFile得到文件名
来源:互联网 发布:网络推广策划案 编辑:程序博客网 时间:2024/05/21 14:50
对CEdit类进行继承,新类CDropFileEdit支持文件的拖拽得到文件名。使用的时候添加头文件到具体程序中,再使用类向导与资源文件关联起来就可以使用。具体代码如下
DropFileEdit.h
- #if !defined(AFX_DROPFILEEDIT_H__412BC2B6_D7BF_4CBE_9EFB_FCC77B59A21F__INCLUDED_)
- #define AFX_DROPFILEEDIT_H__412BC2B6_D7BF_4CBE_9EFB_FCC77B59A21F__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // DropFileEdit.h : header file
- //
- /////////////////////////////////////////////////////////////////////////////
- // CDropFileEdit window
- class CDropFileEdit : public CEdit
- {
- // Construction
- public:
- CDropFileEdit();
- // Attributes
- public:
- // Operations
- public:
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CDropFileEdit)
- //}}AFX_VIRTUAL
- // Implementation
- public:
- virtual ~CDropFileEdit();
- // Generated message map functions
- protected:
- //{{AFX_MSG(CDropFileEdit)
- afx_msg void OnDropFiles(HDROP hDropInfo);//添加消息处理
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_DROPFILEEDIT_H__412BC2B6_D7BF_4CBE_9EFB_FCC77B59A21F__INCLUDED_)
DropFileEdit.cpp
- // DropFileEdit.cpp : implementation file
- //
- #include "stdafx.h"
- #include "DropFileEdit.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CDropFileEdit
- CDropFileEdit::CDropFileEdit()
- {
- }
- CDropFileEdit::~CDropFileEdit()
- {
- }
- BEGIN_MESSAGE_MAP(CDropFileEdit, CEdit)
- //{{AFX_MSG_MAP(CDropFileEdit)
- ON_WM_DROPFILES() //消息处理
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CDropFileEdit message handlers
- void CDropFileEdit::OnDropFiles(HDROP hDropInfo)
- {
- // TODO: Add your message handler code here and/or call default
- //取得被拖动文件的数目
- int DropCount=DragQueryFile(hDropInfo,-1,NULL,0);
- for(int i=0;i<DropCount;i++)
- {
- int NameSize=DragQueryFile(hDropInfo,i,NULL,0);
- HANDLE hHeap=GetProcessHeap();
- char *pName=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,NameSize++);
- if(pName==NULL)
- {
- MessageBox("给文件名分配暂存空间时出错!","错误信息",MB_ICONERROR);
- return;
- }
- //取得第i个拖动文件名所占字节数
- DragQueryFile(hDropInfo,i,pName,NameSize);
- //把文件名拷贝到缓冲区
- // m_Dialog_List.AddString(pName);
- //文件名加入listbox中显示
- this->SetWindowText(pName);
- HeapFree(hHeap,HEAP_ZERO_MEMORY,pName);
- //释放缓冲区
- }
- CEdit::OnDropFiles(hDropInfo);
- }
- 对CEdit进行继承,支持DropFile得到文件名
- 对CEdit进行继承,支持DropFile得到文件名
- 对文件名进行修改
- FAT文件系统对长文件名的支持
- CEdit继承类重画
- 对文件进行添加、删除、更改文件名
- MFC对文件按文件名进行排序
- Linux 对文件名进行批量修改
- 使用Python对文件名进行排序
- 使用Python对文件名进行排序
- 对已经得到的DataTable进行分组
- 对训练得到的模型进行测试
- dropfile相关
- 自绘编辑框CEdit(继承CEdit方式)
- 由句柄得到文件名
- C#中对文件名进行排序(两天的学习成果)
- QDir对某个目录内文件名进行模糊搜索
- linux之中对文件名和文件进行编码转换
- test
- Java对象实例化顺序
- 有感"Java is not platform-independent, it is the platform"
- gt-itm模型生成拓扑结构
- 软件工程
- 对CEdit进行继承,支持DropFile得到文件名
- 在建立与服务器的连接时出错。在连接到SQL2005时,在默认设置下。。。。
- Java面试之判断对错
- 一幅图片就能窃取你的在线资料
- Paypal 的 数据仓库管窥
- C# 图片上传与显示
- Eclipse快捷键大全
- CAP:高可用架构的另一基石
- 如何读书?读什么样的书? 摘自《致青年朋友》