안녕하세요. 천리안 프로그래머포럼 C++Builder 담당자 임펠리테리입니다.
드래그해서 드랍한 화일을 받아오려면 메시지중 WM_DROPFILES를 가로채야 합니다.
메시지를 처리하는 가장 많이 쓰는 방법은 메시지맵을 작성하는 것입니다.
다음과 같이,
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WMDropFiles);
END_MESSAGE_MAP(TForm)
이와 같은 메시지맵을 폼의 클래스선언 내에 포함시키고, 실제로 메시지를 처리할
함수 WMDropFiles를 선언, 정의합니다.
void virtual __fastcall WMDropFiles(TWMDropFiles &Msg);
void __fastcall TForm1::WMDropFiles(TWMDropFiles &Msg)
{
TSearchRec SrcRec;
char lpFilePath[MAX_PATH];
DragQueryFile((HANDLE)Msg.Drop, 0, lpFilePath, 100);
RichEdit1->LoadFromFile(lpFilePath);
}
이렇게하시면 됩니다.
그럼 도움되시길...
독립문에서 임펠리테리였습니다.
(cbuilder, cbuilder@thrunet.com)
|