반응형
탐색기 같은 곳에서 파일을 Drag&Drop 하여 폼에 올리고 싶은 경우에는 아래와 같이 하면 된다.
// uses 절에 ShellAPI 를 추가하고, FormCreate 같은 곳에 아래와 같은 코드를 추가한다. DragAcceptFiles(Handle, True); // 그리고 적당한 곳에 파일이 Drag&Drop 되었을 때 받을 이벤트를 추가한다. procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
procedure TForm1.WMDropFiles(var Msg: TMessage); var DropCnt : Integer; hDropFile : THandle; FileName : array[0..MAX_PATH] of char; FileNameLen : Integer; i : Integer; begin hDropFile := Msg.WParam; try // 드래그 앤 드롭된 파일의 갯수 DropCnt := DragQueryFile(hDropFile, $FFFFFFFF, nil, 0); for i := 0 to DropCnt - 1 do begin // 드롭된 파일경로 길이 FileNameLen := DragQueryFile(hDropFile, i, nil, 0); // 드롭된 파일경로 DragQueryFile(hDropFile, i, FileName, FileNameLen + 1); // 여기다가 작업을 추가하면 된다. end; finally DragFinish(hDropFile); Msg.Result := 0; // 현재 폼을 활성화 시켜주는 쎈스! SetForegroundWindow(Handle); end; end;참 쉽죠잉~?
반응형
'Programming > Delphi' 카테고리의 다른 글
현재 사용중인 익스플로러 버전 확인하기 (0) | 2011.07.05 |
---|---|
유효한 파일명인지 체크 (0) | 2011.07.05 |
퀵리포트 미리보기 없이 이미지로 저장하기 (2) | 2011.07.05 |
델파이 디버깅시 시스템 다운이 될 때 (0) | 2011.07.04 |
퀵리포트 사용 백서 (0) | 2011.06.28 |