Ситуация следующая. При двойном щелчке на элементе списка должен появится MessageBox с наименованием нажатого элемента. Этого не происходит. Смотрю под отладчиком (OllyDbg). При двойном щелчке как и должно быть управление передается оконной процедуре, но вот когда доходит до строки cmp dword ptr [ebp+12h],lbn_dblclk в стеке по адресу ebp+12h находится значение 02С80002. Т.е. в младшем байте находится как раз нужный код сообщения LBN_DBLCLK - 2. Но почему-то в результате сравнения флаг нуля не выставляется и соответственно никакого MessageBox не появляется. При изменении флага нуля вручную в момент перехода все работает. В чем может быть проблема? Да и еще. Я читал, что ListBox будет реагировать на сообщение LBN-DBLCLK если он имеет стиль LBS_NOTIFY. У меня он выставлен отладчик его отображает как единицу: Style = WS_CHILD|WS_TABSTOP|WS_VISIBLE|WS_VSCROLL|WS_THICKFRAME|WS_BORDER|1 Код (Text): WndProc proc push ebp mov ebp,esp push ebx push esi push edi cmp dword ptr [ebp+0ch], WM_DESTROY je WMDESTROY cmp dword ptr [ebp+0ch], WM_CREATE je WMCREATE cmp dword ptr [ebp+0ch], WM_COMMAND je WMCOMMND jmp DEFWINDOWPROC WMCOMMND: mov eax, HWNDBTN cmp dword ptr [ebp+14h], eax ;на выход je WMDESTROY mov eax,HWNDLST cmp dword ptr [ebp+14h],eax ;список? jne NOLIST ;работаем со списком cmp dword ptr [ebp+12h],LBN_DBLCLK jne NOLIST