Dưới đây là một phương pháp đơn giản để có được một tính năng kéo thả trong các hộp thoại Dialog của bạn.
Để có thể xử lý được vấn đề kéo thả trong Dialog, chúng ta cần có một Message Handler được gọi là WM_DROPFILES
1 2 3 4 5 6 7 8 9 | // BEGIN_MESSAGE_MAP(CComGuidFinderDlg, CDialog) //{{AFX_MSG_MAP(CComGuidFinderDlg) ON_WM_PAINT() ON_WM_LBUTTONDOWN() ON_MESSAGE(WM_DROPFILES,OnDropFiles)// Message Handler for Drang and Drop //}}AFX_MSG_MAP END_MESSAGE_MAP() // |
Bây giờ là sử lý những message này thông qua một hàm tự định nghĩa như sau
1 | LRESULT OnDropFiles(WPARAM wParam,LPARAM lParam); |
Cuối cùng, chúng ta dùng một chức năng để nắm bắt các sự kiện drop file vào. wParam là một sử lý cấu trúc HDROP
1 2 3 4 5 | DragQueryFile(hDrop, // Struture Identifier -1, // -1 to Drop more than one file or ( integer 0 to max ) // to drop selected No of files szDroppedFile,// Droped File Name MAX_PATH); // Max char |
Cuối cùng là tạo ra một hàm sử lý việc Drag và Drop
1 2 3 4 5 6 | BOOL CComGuidFinderDlg::OnInitDialog() { ...... ..... DragAcceptFiles(TRUE) // To Accept Dropped file Set this TRUE } |
Mọi thông tin chi tiết xin xem thêm tập tin download bên dưới
[jbutton link=”https://www.kleii.com/f/50c6a5cc06bbad4811000014″ color=”orange”]Download code[/jbutton]
Bài viết được chia sẻ bởi
Sharecodeweb.com
You must log in to post a comment.