我是一个初学者,RealPlayer播放器想必都是很多初学者的开发实例吧?
我想实现RM文件拖放到RealPlayer控件区就能实现自动播放,求!

解决方案 »

  1.   

    1、通知操作系统,此应用程序可支持文件拖放 DragAcceptFiles(Handle, True);//在ShellAPI中定义
    2、处理文件拖放消息 WM_DROPFILES,比如文件取出来后,开始播放什么的。
    简单代码:
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
      public
        { Public declarations }
      end;
    ...const
       MaxFileLen = 255;{$R *.dfm}
    procedure TForm1.WMDROPFILES(var message: TWMDROPFILES);
    var
       i,nCount : Integer;
       DragFile : array [0..255] of Char;
    begin  nCount := Dragqueryfile(message.Drop, $FFFFFFFF,DragFile,MaxFileLen);
      for i := 0 to nCount -1 do
      begin
        DragQueryFile (message.Drop,i,DragFile,MaxFileLen);
        ListBox1.Items.Add(DragFile);
      end;
      DragFinish(message.Drop);
      if SongList.Items.Count>0 then //SongList 是TListBox对象,可以用来存放歌曲列表。
      begin
        //开始播放文件
      end;end;procedure TForm1.FormCreate(Sender: TObject);
    begin  DragAcceptFiles(Handle, True);end;
      

  2.   

    更正一下:(呵呵,最近发现自己上CSDN有点很想发困的样子)
    Memo1: TMemo;-〉SongList: TListBox
    ListBox1.Items.Add(DragFile);->SongList.Items.Add(DragFile);