两个类似的问题

squall23504136 2006-04-20 10:00:41
1 我有个memo1 我想实现把一个文本文档拖动到memo1上面的时候 就是返回给我txt的路经
2 还是上面这个程序,我把它编译成exe,在程序没打开的情况下,我把txt拖动到图标上它就能自动启动程序并且memo1加载文本
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiger8862 2006-04-20
  • 打赏
  • 举报
回复
补上消息的定义,刚才忘记了
public: // User declarations
__fastcall Tfrm_main(TComponent* Owner);
void __fastcall DropFile(TWMDropFiles &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES,TWMDropFiles,DropFile)
END_MESSAGE_MAP(TForm);
嘻嘻~
tiger8862 2006-04-20
  • 打赏
  • 举报
回复
就只有拖入的,没有不运行就拖的.
//主要参考DropQueryFile()

void __fastcall Tfrm_main::FormCreate(TObject *Sender)
{
DragAcceptFiles(Handle,true);//程序一开始就可以接受拖放的文件
//Accept决定能不能拖放,如果为"true"则可以,为"false"就不能拖放文件了
//Bool fAccept 就是它的原型
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_main::DropFile(TWMDropFiles &Msg)
{
AnsiString FileName;
AnsiString Extension;
FileName.SetLength(256);
DragQueryFile((HDROP)Msg.Drop,0,FileName.c_str(),FileName.Length());//DragQueryFile()是把文件放到缓冲区内
Extension = ExtractFileExt(FileName);
Extension = Extension.UpperCase();
Extension.SetLength(4); //用"4" 是为了用来和扩展名比较,是不是".txt"或者".rtf"
if(Extension == ".TXT"||".RTF")
{
RichEdit1->Lines->LoadFromFile(FileName);
}
DragFinish((HDROP)Msg.Drop);
}
hdwong 2006-04-20
  • 打赏
  • 举报
回复
接分

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧