edit控件实现拖拽
来源:互联网 发布:徒步 知乎 编辑:程序博客网 时间:2024/06/01 15:18
1、c++版 cedit控件
.h
#pragma once
#include "afxwin.h"
// CMyEdit
class CMyEdit : public CEdit
{
DECLARE_DYNAMIC(CMyEdit)
public:
CMyEdit();
virtual ~CMyEdit();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnDropFiles(HDROP hDropInfo);
};
.cpp
// MyEdit.cpp : 实现文件
//
#include "stdafx.h"
#include "MyEdit.h"
// CMyEdit
IMPLEMENT_DYNAMIC(CMyEdit, CEdit)
CMyEdit::CMyEdit()
{
}
CMyEdit::~CMyEdit()
{
}
BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
ON_WM_DROPFILES()
END_MESSAGE_MAP()
// CMyEdit 消息处理程序
void CMyEdit::OnDropFiles(HDROP hDropInfo)
{
if (hDropInfo)
{
CString strPath;
int nDrag = 0; //拖拽文件的数量
nDrag = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);
for (int i = 0; i < nDrag; i++)
{
// 被拖拽的文件的文件名
TCHAR Path[MAX_PATH + 1] = { 0 };
int len = DragQueryFile(hDropInfo, i, Path, MAX_PATH);
// 得到被拖拽的文件名与长度
CString str = Path;
CString xml = _T(".xml");
CString fix = str.Mid(len - 4, 4);
if (fix.CompareNoCase(xml) == 0)
{
strPath += Path;
strPath += _T("\r\n");
}
}
SetWindowText(strPath);
}
DragFinish(hDropInfo);
CEdit::OnDropFiles(hDropInfo);
}
2、c#版 textBox控件
textBoxRePath.DragDrop += textBoxRePath_DragDrop;
/// <summary>
/// 拖拽事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void textBoxRePath_DragDrop(object sender, DragEventArgs e)
{
string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();//GetValue(0) 为第1个文件全路径
if (string.Compare(Path.GetExtension(path), ".xml", true) == 0)
{
textBoxRePath.Text = path;
}
this.textBoxRePath.Cursor = System.Windows.Forms.Cursors.IBeam; //还原鼠标形状
}
- edit控件实现拖拽
- 通过继承实现edit控件的拖拽文件功能扩展的一般步骤
- Edit Control实现文件拖拽
- MFC 拖拽文件到Edit控件后在Edit中显示文件路径及名称
- Edit控件实现系统时间动态显示
- MFC中EDIT控件实现换行
- MFC edit控件实现自动换行
- MFC中EDIT控件实现换行
- EDIT控件
- Edit控件
- EDIT 控件
- MFC实现Spin控件和Edit控件合用
- 子类化实现DialogBox中Edit控件的WM_CHAR消息
- 实现tab按键切换Edit控件焦点(WTL)
- 通过控件子类化实现Edit Control接收Enter按键
- MFC edit控件实现控制台式滚动输出
- MOBILE Edit Box控件
- 编辑控件(edit)
- 真机调试中的问题
- hdu 1061 Rightmost Digit
- HDOJ 4267 A Simple Problem with Integers 树状数组
- python随机数
- 各种字符串Hash函数比较
- edit控件实现拖拽
- 安装及设置MASM32 SDK
- 数据结构学习之路-第三章:栈的应用
- 第2周实践项目3--体验复杂度(1)
- Redis学习笔记(第一天)
- swift的基本使用(5)类和枚举
- 程序员面试题
- ccache and distcc
- 26-linux中的进程介绍与管理