C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[69587] Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다.
거짓말처럼 [isj1986] 2214 읽음    2013-06-03 18:10
저 그러면 제가 원하는 ListView에 탐색기를 드랍시 이벤트를 발생하게 하려면 어떻게 해야 하나요 ???

장성호 님이 쓰신 글 :
: "탐색기에서 드래그 하고 놓는 순간 이벤트가 감지 되어야 하는데..."
:
:
: WM_DROPFILES 메세지는 탐색기에서 드래그 하고자 하는 순간 발생하는 메세지가 아닙니다.
:
: Drag해서 Window(Form)에 Drop시켰을때 발생하는 메세지입니다.
:
: 그리고 Window(Form)가 탐색기로 부터 Drag-Drop 허용하기 위해서는
: DragAcceptFiles를 해주어야 합니다.
:
: DragAcceptFiles(Handle,true)
:
: 그럼..
:
:
: 거짓말처럼 님이 쓰신 글 :
: :
: :
: : #include <vector>
: :
: : using namespace std;
: :
: : class TForm1 : public TForm
: : {
: : __published:    // IDE-managed Components
: :
: :     void __fastcall WMDropFiles(TWMDropFiles &Msg);
: :     void __fastcall FormCreate(TObject *Sender);
: :
: :
: : private:    // User declarations
: : public:        // User declarations
: :     __fastcall TForm1(TComponent* Owner);
: :
: :
: : BEGIN_MESSAGE_MAP
: :         VCL_MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WMDropFiles);
: : END_MESSAGE_MAP(TForm)
: : };
: :
: :
: : //---------------------------------------------------------------------------
: : extern PACKAGE TForm1 *Form1;
: : //---------------------------------------------------------------------------
: : #endif
: :
: :
: : void __fastcall TForm1::FormCreate(TObject *Sender)
: : {
: :     DragAcceptFiles(Handle, true);
: : }
: :
: : void __fastcall TForm1::WMDropFiles(TWMDropFiles &message)
: : {
: :     char fullPath[MAX_PATH];
: :     UINT fileCount = DragQueryFile((HDROP)message.Drop,0xffffffff,NULL,0);
: :     for(UINT i=0 ;i<fileCount ;i++)
: :     {
: :         DragQueryFile((HDROP)message.Drop,i,fullPath,MAX_PATH);
: :        //    Memo1->Lines->Add(fullPath);
: :     }
: :     DragFinish((HDROP)message.Drop);
: : }
: :
: : //---------------------------------------------------------------------------
: :
: : 위 코드와 같이 BEGIN_MESSAGE_MAP 을 이용하면 탐색기에서 드래그 하고 놓는 순간 이벤트가 감지 되어야 하는데
: :
: : WMDropFiles함수에 디버깅을 위하여 브레이크를 걸어도 함수 호출 자체가 되지 않습니다... 

+ -

관련 글 리스트
69585 BEGIN_MESSAGE_MAP 관련 질문입니다. 거짓말처럼 2184 2013/06/03
69586     Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 장성호 2232 2013/06/03
69587         Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 거짓말처럼 2214 2013/06/03
69588             Re:Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 장성호 2372 2013/06/03
69592                 Re:Re:Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 거짓말처럼 1896 2013/06/04
69594                     Re:Re:Re:Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 장성호 1971 2013/06/04
69595                         Re:Re:Re:Re:Re:Re:BEGIN_MESSAGE_MAP 관련 질문입니다. 거짓말처럼 2285 2013/06/04
69599                             해결했습니다... 거짓말처럼 2017 2013/06/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.