往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;
}