文件拖放处理

原创 2007年10月04日 16:42:00
2007-10-4星期四
当前支持对话框范围的拖放,下一步改进目标,将拖放定位在一个CEdit上
Step 1:
BEGIN_MESSAGE_MAP(CWISH_ENCRYPT_FOLDERDlg, CDialog)
    ON_WM_DROPFILES()
END_MESSAGE_MAP()

Step 2:
   class CWISH_ENCRYPT_FOLDERApp : public CWinApp
{
public:
    CWISH_ENCRYPT_FOLDERApp();
 
// 重写
    public:
    virtual BOOL InitInstance();
 
// 实现
    afx_msg void OnDropFiles(HDROP hDropInfo);
    DECLARE_MESSAGE_MAP()
};
Step 3:
BOOL CWISH_ENCRYPT_FOLDERDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    CWnd::DragAcceptFiles();
    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    // 执行此操作
    SetIcon(m_hIcon, TRUE);         // 设置大图标
    SetIcon(m_hIcon, FALSE);        // 设置小图标
 
    // TODO: 在此添加额外的初始化代码
   
    return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}

Step 4:
//文件拖放并在编辑框显示拖放文件路径
void CWISH_ENCRYPT_FOLDERDlg::OnDropFiles(HDROP hDropInfo)
{
    char *lpszFileName=new char[512], cFileCount[10];  
    int nFileCount, i;  
    nFileCount=::DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 512);  
    //::AfxMessageBox(itoa(nFileCount,cFileCount,10));  
    //for (i=0; i<nFileCount; i++)  
    //{
        if(nFileCount == 1)
        {
            i = 0;
            UINT nChars=::DragQueryFile(hDropInfo, i, &lpszFileName[0], 512);  
            CString str(&lpszFileName[0], nChars);  
            m_editPath.SetWindowText(str);
        }
        else
        {
            ::AfxMessageBox("拖放文件的数量不能多于1个!",MB_OK,0);
        }      
    //}  
    ::DragFinish(hDropInfo);       //释放内存  
    i=0;  
    delete []lpszFileName;  
    //   CDialog::OnDropFiles(hDropInfo);           此语句注释掉  
 }

相关文章推荐

MFC处理拖放文件或文件夹事件

  • 2015年07月29日 20:12
  • 30KB
  • 下载

给MFC程序添加文件拖放处理

程序支持文件拖放会使程序使用起来更加方便。      当我们从shell(window的文件浏览器)中拖入一个文件到应用程序窗口时,windows会发生一个消息WM_DROPFILES给程序,支持...

易语言 文件拖放 案例源码

  • 2015年12月31日 17:10
  • 4KB
  • 下载

[Cocoa]_[初级]_[文件拖放操作]

场景:支持所有类别的文件拖放(从外部直接拖文件到程序中) 实例: DragDropView.h #import @protocol DragDropViewDelegate; @interfac...

用鼠标实现文件拖放.rar

  • 2010年07月01日 13:39
  • 36KB
  • 下载

asp.net 图形文件的拖放操作

  • 2009年11月17日 15:06
  • 8KB
  • 下载

C# 支持拖放的TreeView控件,文件拖拽大全。

c# winform TreeView控件中实现拖拽的功能 必须处理好三种事件:"ItemDrag"(开始)、"DragEnter"(进入)、"DragDrop"(处理放下)。其中只有第...
  • wlanye
  • wlanye
  • 2012年05月07日 14:05
  • 3029

Cocoa文件拖放

  • 2015年11月22日 17:41
  • 37KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件拖放处理
举报原因:
原因补充:

(最多只允许输入30个字)