Создание списка
Орган управления LISTBOX.
Кроме того, можно использовать извещения, посылаемые обычному органу управления EDIT.
Код извещения от органа управления Rich Edit передается в параметре lParam сообщения WM_NOTIFY.
Обработка извещений
С помощью сообщения EM_SETEVENTMASK приложение, создавшее орган управления Rich Edit, может определить, какие извещения должны поступать в родительское окно.
Для органа управления Rich Edit определены следующие коды извещений:
| Код извещения | Описание |
| EN_CORRECTTEXT | Выполняется корректировка слова. Используется только для перьевого ввода |
| EN_DROPFILES | Пользователь переместил в окно органа управления Rich Edit пиктограмму файла при помощи операции "drag and drop" |
| EN_IMECHANGE | Используется только для азиатских языков |
| EN_MSGFILTER | Извещение о событии, созданном мышью или клавиатурой |
| EN_PROTECTED | Пользователь попытался отредактировать защищенный текст |
| EN_REQUESTRESIZE | Изменились размеры окна органа управления Rich Edit |
| EN_SELCHANGE | Произошли изменения в выделении фрагмента текста |
| EN_STOPNOUNDO | Было выполнено действие, результаты которого нельзя восстановить с помощью сообщения EM_UNDO |
Стандартным примером использования списков класса LISTBOX, COMBOBOX являются диалоговые панели "Open" и "Save As". Для организации списков Windows использует органы управления класса "listbox" и "combobox".
С помощью класса "listbox" можно создавать одноколоночные и многоколоночные списки, имеющие вертикальную (для одноколоночных списков) и горизонтальную (для многоколоночных списков) полосу просмотра. Родительское окно может само рисовать элементы списка, аналогично тому, как оно рисует кнопки.
Для создания списка приложение должно вызвать функцию CreateWindow, передав в качестве первого параметра указатель на строку "listbox":
hListBox = CreateWindow(_T("listbox"), NULL, WS_CHILD | WS_VISIBLE | LBS_STANDARD | LBS_WANTKEYBOARDINPUT, 30, 30, 200, 100, hwnd, (HMENU) ID_LIST, hInst, NULL);Второй параметр функции должен быть указан как NULL.
Остальные параметры функции CreateWindow указываются так же, как и для других органов управления. Параметры с четвертого по седьмой используются для определения расположения и размеров списка. Восьмой параметр - идентификатор родительского окна, в функцию которого будет поступать сообщение WM_COMMAND. Девятый параметр определяет идентификатор списка. Десятый указывает идентификатор копии приложения. Последний параметр должен быть задан как NULL.






