Код (Text): commctrl.h //====== WM_NOTIFY codes (NMHDR.code values) ================================== #define NM_FIRST (0U- 0U) // generic to all controls #define NM_LAST (0U- 99U) #define LVN_FIRST (0U-100U) // listview #define LVN_LAST (0U-199U) Видишь, почему так?
как я понял реальное значение nm_first 00h ,а lvn_fist 0FFFFFF00h... но суть не в этом... запарка в nm_dblclk... пытаюсь обработать dblclk таким кодом: Код (Text): mov edi,rg_lparam mov eax,[edi] // исключил assume edi:ptr nmhdr т.к. возникла запарка с ptr... //читаю данные без использования структуры... если что-то не так просьба пояснить почему... please... cmp eax,list_handle jne ...в далекие страны... cmp [edi+08h],0FFFFFFFDh // кликаем по строке или нет jne ...в те же страны... push 01h // фокусе push 0FFFFFFFFh // незнаю зачем - iczelion придумал push 100Ch // lvm_getnextitem push list_handle call SendMessageA // поясните please это сообщение mov lvi.li_item,eax mov lvi.li_subitem,ebx // subitem 0 mov lvi.li_mask,01h // только текст mov lvi.li_text,offset buffer // буфер для текста mov lvi.li_textmax,0FFh push offset lvi push ebx push 1005h push list_handle call SendMessageA push 01h push ebx push offset buffer push ebx call MessageBoxA <font color="red]Прим. модератора</font><!--color-->: Используем тег code
Это не он придумал: LVM_GETNEXTITEM перечисляет элементы ListView, начиная с некоторого (iStart) в определёном порядке (flags). За подробностями обращаемся к PlatformSDK.
Недавно сел опять разгребать этот гимор, если его таковым можно назвать, проблема до сих пор актуальна... Не хочет обрабатывать сообщение wm_notify: Код (Text): mov eax,dword ptr [lparam] cmp eax,list_handle jne def_msg cmp dword ptr [lparam+8],0FFFFFF94h // 0FFFFFF94h - columnclick... кликаем по колонке или нет jne def_msg ... Мне кажется проблема заключается в 0FFFFFF94h, но почему?..