如何在TrcRichEdit中插入一个文件,通过鼠标拖入的方法?或者如何禁用掉鼠标拖入东西的功能?

解决方案 »

  1.   

    通过鼠标拖入的方法向richedit插入一个文件unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,shellapi, ComCtrls;type
      TForm1 = class(TForm)
        ListBox1: TListBox;
        RichEdit1: TRichEdit;
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      protected
        procedure Wndproc(var message:TMessage);override;
      end;var
      Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.Wndproc(var message: TMessage);
    var
      count,index,hdrop:integer;
      PFileName:PChar;
    begin
      if message.Msg=WM_DROPFILES then
      begin
        hdrop:=message.WParam;
        getmem(pfilename,max_path);
        count:=dragqueryfile(hdrop,maxdword,pfilename,max_path-1);
        form1.ListBox1.Items.Clear;
        for index:=0 to count-1 do
        begin
          dragqueryfile(hdrop,index,pfilename,maxbyte);
          if ExtractFileExt(PFileName)='.txt' then
            self.RichEdit1.Lines.LoadFromFile(PFileName);
            //form1.ListBox1.Items.Add(pfilename);
        end;
        freemem(pfilename);
        dragfinish(hdrop);
      end
      else
      inherited;end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      dragacceptfiles(form1.Handle,true);
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      dragacceptfiles(form1.Handle,false);
    end;end.
      

  2.   

    我想问一下,如何屏蔽掉鼠标向TrcRichEdit拖入的东西:比如拖入文件,图片等,没有反应,但是程序可以继续正常运行?
      

  3.   

    我上面的代码已经包含这个功能了,就是只允许拖入文本文件
    注意里面的这句代码,就是只有.txt文件时,才能拖入
      if ExtractFileExt(PFileName)='.txt' then
      

  4.   

    还是不行。我这个是TRxRichEdit,还有就是我这个就类似于QQ,msn的聊天框,正常情况下是鼠标拖入也可以传输文件的,我现在拖入就程序死掉。所以我现在想禁止掉鼠标拖入的东西,不管鼠标拖过什么东西,程序都当没做过这个操作,不知道该怎么做。
      

  5.   

    应该有属性的 你去查查看  不启用drag操作
      

  6.   

    把控件发一份给我,研究研究
    [email protected]
      

  7.   

    不知道是不是winrar的问题,你发给我的无法解压,我看看自己下一个吧
      

  8.   

    我下载了一个,没问题啊,拖入txt、jpg、gif都可以啊。
      

  9.   

    如果想禁止拖入任何文件也有办法,把plain text设成true
      

  10.   

    恩!设成true就可以了,太谢谢了,呵呵,我delphi不懂啊,老是不知道要改哪个属性呵呵
    我这里只能拖bmp,可能是我下载的安装包有问题吧