Создание списка
Орган управления 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.