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

拖拉打开文件无效解决方法

2013-01-25 
拖拉打开文件无效Procedure DragDropFiles(Var message: TMessage) Message WM_DropFilesProcedure Tfm_

拖拉打开文件无效

Procedure DragDropFiles(Var message: TMessage); Message WM_DropFiles;

Procedure Tfm_main.DragDropFiles(Var message: TMessage);
Var
  p: Array[0..254] Of char;
  i: word;
Begin
  Inherited;
  i := DragQueryFile(Message.wParam, $FFFFFFFF, Nil, 0);
  For i := 0 To i - 1 Do
  Begin
    DragQueryFile(Message.wParam, i, p, 255);
  End;
  Try
    If FileExists(strPas(p)) Then
      OpenFile(strPas(p));
  Finally
    DragFinish(HDROP(Message.WParam));
  End;
End;

抄了这段代码,运行后没有反应,这是为什么呢?
[解决办法]
Procedure DragDropFiles(Var message: TMessage); Message WM_DropFiles;

Procedure Tfm_main.DragDropFiles(Var message: TMessage);
Var
  p: Array[0..254] Of char;
  i: word;
Begin
  Inherited;
  i := DragQueryFile(Message.wParam, $FFFFFFFF, Nil, 0);
  For i := 0 To i - 1 Do
  Begin
    DragQueryFile(Message.wParam, i, p, 255);
    //这段代码的用意是可以拖放打开多个文件
    If FileExists(strPas(p)) Then
      OpenFile(strPas(p));
  End;
  Try

  Finally
    DragFinish(HDROP(Message.WParam));
  End;
End;

[解决办法]
还有你需要在以下

procedure   Tform1.FormCreate(Sender:   TObject); 
begin 
  DragAcceptFiles(Handle,True);   
end; 

热点排行