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

请问关于DragAcceptFiles的使用

2013-07-16 
请教关于DragAcceptFiles的使用大家好,我用c++ buidler xe4使用DragAcceptFiles拖动外部文件到本地程序中

请教关于DragAcceptFiles的使用
大家好,我用c++ buidler xe4使用DragAcceptFiles拖动外部文件到本地程序中无效。请帮忙谢谢。
代码如下:



#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
// ---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

// ---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}

// ---------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender) {
DragAcceptFiles(this->Handle, true);
}

// ---------------------------------------


void __fastcall TForm1::DragDropFiles(TMessage &msg) // 拖动消息处理
{
wchar_t FileName[MAX_PATH];
int i, Sum;
Sum = DragQueryFile(HDROP(msg.WParam), 0xFFFFFFFF, NULL, 0); // 获得拖曳文件数

for (i = 0; i < Sum; i++) {
DragQueryFile(HDROP(msg.WParam), i, FileName, MAX_PATH); // 得到文件名
WideString sFileName = FileName;
memset(FileName, 0, sizeof(FileName));
// 转换成长文件
GetLongPathName(sFileName.c_bstr(), FileName, MAX_PATH);
// 把文件名挨个显示在 Memo 里
mmo1->Lines->Add(sFileName);
}

DragFinish(HDROP(msg.WParam));
}


[解决办法]
Caption = FileName;测试了你的代码,有效果啊
[解决办法]
已经执行到GetLongPathName里了,说明成调用了函数DragDropFiles

热点排行