拖拉打开文件无效
- Delphi(Pascal) code
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;
抄了这段代码,运行后没有反应,这是为什么呢?
[解决办法]
- Delphi(Pascal) code
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); //这段代码的用意是可以拖放打开多个文件 [color=#FF0000]If FileExists(strPas(p)) Then OpenFile(strPas(p));[/color] End; Try Finally DragFinish(HDROP(Message.WParam)); End;End;
[解决办法]
还有你需要在以下
- Delphi(Pascal) code
procedure Tform1.FormCreate(Sender: TObject); begin DragAcceptFiles(Handle,True); end;