首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

往ListView拖文件!该如何解决

2012-02-17 
往ListView拖文件!我的一个form上有一个listview控件,我想从外面的一个文件夹里拖一个任意文件或者文件夹

往ListView拖文件!
我的一个form上有一个listview控件,我想从外面的一个文件夹里拖一个任意文件   或者   文件夹   到listview里面,然后显示这个文件(文件夹)的名字.
     
    该怎么做呢   ,谢谢!!

[解决办法]
// 头文件中定义拖拽消息

class TForm1 : public TForm
{
__published:// IDE-managed Components
TListView *ListView1;
private:// User declarations
void __fastcall ON_WM_DROPFILES(TWMDropFiles &message);
public:// User declarations
__fastcall TForm1(TComponent* Owner);

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, ON_WM_DROPFILES)
END_MESSAGE_MAP(TForm);

};

// 单元文件中

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// 构造函数设定当前接受拖拽
DragAcceptFiles(Handle, True);// 实现文件拖拽
}
//---------------------------------------

// 拖拽消息处理,并且显示到 ListView 上
void __fastcall TForm1::ON_WM_DROPFILES(TWMDropFiles &message)
{
char* FileName = new char[255];
DragQueryFile((HDROP)message.Drop, 0, FileName, 255);
String fn = FileName;
delete FileName;

TListItem *ListItem;
ListItem = ListView1-> Items-> Add();
ListItem-> Caption = fn;
}

热点排行