|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 2, 2003 03:32:46 Привет всем! Я делал drag list box следуя справке Win32 Programmer's Reference. Drag List Box размещен на диалоге, оконная процедура диалога получает коды уведомления DL_BEGINDRAG, DL_CANCELDRAG, DL_DROPPED, а вот код DL_DRAGGING не приходит, когда я пытаюсь перетащить какой-нибудь item. У кого-нибудь есть мысли по этому поводу? |
|
|
Дата: Ноя 2, 2003 04:19:17invoke DragAcceptFiles, [hWnd], 1 .elseif [uMsg]==WM_DROPFILES xor ebx, ebx @@: invoke DragQueryFile, [wParam], ebx, ADDR szFileName, sizeof szFileName test eax, eax jle @@dragf invoke SendDlgItemMessage, [hWnd], 102, LB_ADDSTRING, 0, ADDR szFileName inc ebx jmp @B @@dragf:invoke DragFinish, [wParam] |
|
|
Дата: Ноя 2, 2003 14:06:10 Я говорю не о перетаскивании извне, а о перемещении одного элемента внутри listbox. Не приходит код уведомления DL_DRAGGING, а остальные приходят. .IF uMsg==WM_INITDIALOG INVOKE GetDlgItem, hwnd, ID_LISTBOX INVOKE MakeDragList, eax INVOKE RegisterWindowMessage, ADDR DRAGLISTMSGSTRING mov uDragListMsg, eax .ELSEIF .... .... .... ;=========================== ; mov eax, uDragListMsg .IF uMsg==eax mov esi, lParam .IF dword ptr [esi] == DL_BEGINDRAG ;INVOKE MessageBox, hwnd, ADDR msg1, ADDR mb_cap1, 0 .ELSEIF dword ptr [esi] == DL_CANCELDRAG ;INVOKE MessageBox, hwnd, ADDR msg2, ADDR mb_cap1, 0 .ELSEIF dword ptr [esi] == DL_DROPPED ;INVOKE MessageBox, hwnd, ADDR msg3, ADDR mb_cap1, 0 .ELSEIF dword ptr [esi] == DL_DRAGGING INVOKE MessageBox, hwnd, ADDR msg4, ADDR mb_cap1, 0 .ELSE xor eax, eax ret .ENDIF mov eax, 1 ret .ENDIF ;=========================== |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071 |