Re: Работа с ComboBoxEx в WinApi
От: Ignoramus  
Дата: 06.06.05 20:01
Оценка:
Здравствуйте, Zhouck, Вы писали:

Z>Вобщем, создать создать и заполнить сей компонент (не обертку из Builder) удалось элементарно (статья на МСДН). Но дальше не могу понять — там же описано, что при выборе элемента я получаю сообщение

Z>CBEN_ENDEDIT Signals that the user has selected an item from the drop-down list or has concluded an edit operation within the edit box.
Z>Я ловлю это сообщение так

Z>
Z>      case WM_COMMAND:
Z>         wmId    = LOWORD(wParam);
Z>         wmEvent = HIWORD(wParam);
Z>         switch(wmId)
Z>         {

Z>           case CBEN_ENDEDIT:
Z>               MessageBoxEx(hWindow,"","Test",MB_OK,419);
Z>                   break;
Z>                default:
Z>               return DefWindowProc(hWnd, msg, wParam, lParam);
Z>         }
Z>

Z>но ничего не получаю...

Во-первых, нужно анализировать switch(wmEvent) — код события находится в верхнем слове. В нижнем слове — wmId — идентификатор ресурса (контрола) в диалоге. Скорее всего поэтому не работает.

Во-вторых, обычно для отлова события "выбор элемента комбо-бокса" используют CBN_SELCHANGE. Приведенное тобой сообщение достаточно специфичное, и предназначено для работы с Edit-контролом, входящим в комбо-бокс.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.