|
안녕하세요?
토보입니다.. 고수님들의 많은 지도편달 바랍니다..
WM_DROPFILES라는 윈도우 메시지를 사용하기 위하여 헤더 파일에 다음과 같이 선언하였습니다.
void __fastcall OnDropFiles(TWMDropFiles& Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, OnDropFiles)
END_MESSAGE_MAP(TForm)
=> 여기까지는 문제가 없는 듯합니다..(아마도)
위 메시지를 사용하기 위해 FormCreate 함수에다가 다음과 같은 코드를 넣었습니다.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DragAcceptFiles(ListBox1->Handle, true);
DragAcceptFiles(ListBox3->Handle, true);
}
그리고 OnDropFiles를 다음과 같이 정의하였습니다.
void __fastcall TForm1::OnDropFiles(TWMDropFiles& Message){
//중략
ListBox1->Items->Add(FileName);
ListBox3->Items->Add(FileName);
//후략
}
=> 문제는 탐색기의 파일을 끌어서 ListBox1, ListBox3에 가져갔을 때에는 Drop이 가능한 커서로 바뀝니다. 그러나, ListBox1에서는 OnDropFiles 함수가 호출이 되는데,, ListBox3에서는 함수가 호출이 되지 않습니다. 제가 핸들을 잘못 다룬것일까요? 아니면 ListBox3는 Panel 위에 두었는데, Panel 때문에 문제가 생긴 걸까요?
고수님들의 답변 부탁드립니다..^^
|