Некоторые методы класса cListBox
1. Метод для очистки содержимое списка, делает его пустым:
void ResetContent();
2. Метод для добавления элемента в список:
int AddString( LPCSTR lpszItem);
Добавляет строку lpszItem в список и сортирует его, если при создании включено свойство Sort. В противном случае элемент добавляется в конец списка.
3. Метод для удаления элемента из списка:
int DeleteString( UINT nIndex);
Удаляет из списка элемент с индексом nIndex. Индексация элементов начинается с 0.
4. Метод для получения индекса элемента, выбранного пользователем: int GetCurSel() const;
5. Метод для программной установки отмеченного элемента списка: int SetCurSel( int nSelect);
Отмечает элемент с индексом nSelect как выбранный элемент списка. Если значение параметра равно -1, список не будет содержать отмеченных элементов.
6. Методы для копирования содержания определенного элемента в буфер: int GetText( int nIndex, LPSTR lpszBuffer) const;
или void GetText( int nIndex, CString& rString) const;
Копирует элемент с индексом nIndex в буфер.
7. Метод для организации прокрутки списка в окне так, чтобы элемент с индексом nIndex был видимым:
int SetTopIndex( int nIndex);
8. Метод для организации поиска в списке:
int FindString( int nStartAfter, LPCSTR lpszItem) const;
Организует поиск в списке и возвращает в качестве результата индекс элемента списка, префикс которого совпадает со строкой lpszItem. Результат не зависит от регистра, в котором набирались символы сравниваемых строк.
Параметр nStartAfter задает начало поиска, но поиск идет по всему списку. Он начинается от элемента, следующего за nStartAfter, до конца списка и затем продолжается от начала списка до элемента с индексом nStartAfter. В качестве результата выдается первый найденный элемент, удовлетворяющий условиям поиска. Если такого нет, результат получает значение LB_ERR. Этот метод отличается от предыдущего тем, что теперь не префикс элемента должен совпадать со строкой lpszFind, а сам текст элемента: int FindStringExact( int nIndexStart, LPCSTR lpszFind) const; Поиск по-прежнему не чувствителен к регистру, в котором набираются символы.
С помощью класса CListbox можно создавать одноколоночные и многоколоночные списки, имеющие вертикальную (для одноколоночных списков) и горизонтальную (для многоколоночных списков) полосу просмотра. Список может быть как с одиночным выбором, так и с множественным. Последний позволяет пользователю выбирать более одного пункта списка.
Окно списка посылает сообщение WM_COMMAND своему родительскому окну, когда в списке выбирается какой-либо пункт. Родительское окно может определить, какой пункт списка выбран.
Рассмотрим стили окон списков.
В окна списка почти всегда включают идентификатор стиля LBS_NOTIFY, что позволяет родительскому окну получать от окна списка сообщение WM_COMMAND. Если приложение желает иметь возможность сортировать элементы списка, ему необходимо использовать в окне списке и другой часто используемый идентификатор стиля – LBS_SORT. По умолчанию, в списке допускается выбор только одного пункта. Если необходимо создать список с возможностью выборки сразу нескольких пунктов, то следует использовать стиль LBS_MULTIPLESEL. По умолчанию, оконная процедура окна списка выводит только список элементов без какой-либо рамки вокруг. Рамку можно добавить с помощью стиля WS_BORDER. Для прокрутки содержимого с помощью мыши и вертикальной полосы прокрутки следует использовать стиль WS_VSCROLL. Стиль LBS_STANDARD включает в себя наиболее часто используемые стили списка. Он определяется как комбинация
(LBS_NOTIFY|LBS_SORT|WS_VSCROLL|WS_BORDER)
Также можно пользоваться стилями WS_SIZEBOX и WS_CAPTION, которые дают возможность менять размер окна и перемещать его по рабочей области родительского окна. Когда пользователь щелкает мышью над окном списка, окно списка получает фокус ввода. Если окно списка имеет фокус ввода, то для выбора пунктов можно пользоваться как мышью, так и клавиатурой. При работе со списком, выраб-тся уведомляющие сообщения (notification) от списка. Сообщения: LBN_ERRSPACE - превышен размер памяти, отведенный для списка. LBN_SELCHANGE - изменен текущий выбор (подсветка перемещается по списку); LBN_DBLCLK - на пункте списка имел место двойной щелчок мышью. Окно списка посылает коды уведомления LBN_SELCHANGE и LBN_DBLCLK только в том случае, если в стиль дочернего окна включен идентификатор LBS_NOTIFY. LBN_KILLFOCUS - Потеря фокуса. LBN_SELCANCEL - Выбор с элемента снимается. LBN_SETFOCUS - Получение фокуса.
- 1.Стандартный внешний вид окна приложения Windows.
- 1. Рамка
- 3. Интерфейс Visual Studio. Ресурсы приложения.
- 4. Интерфейс Visual Studio. Окно вывода Output.
- Окно редактирования текстов программ
- 5. Система меню. Меню File, Edit, View.
- Advanced… вывод на экран еще одного меню.
- 6. Система меню. Меню Insert, Project.
- 7. Система меню. Меню Build, Tools. Меню Build
- 8. Мастер создания приложения. Шаг 1,2.
- 9. Мастер создания приложения. Шаг 3,4.
- 10. Мастер создания приложения. Шаг 5,6,7.
- 11. Диалоговые окна и элементы управления
- 12. Формирование нового ресурса диалогового окна.
- 13. Задание идентификаторов диалогового окна.
- 14. Организация вывода диалогового окна на экран.
- 15.Использование элемента управления типа список
- Некоторые методы класса cListBox
- 16. Комбинированные списки (класс cCombobox).
- 17. Использование элементов типа переключатель Статические поля (класс static). Окна редактирования Edit Box. Методы класса cEdit.
- 19. Обработка сообщений. Карты сообщений.
- Некоторые макросы карты сообщений
- 20.Реал-ция обр-ки сообщ-й с пом.ClassWizard. Виды сообщ-й.
- Вкладки диалогового окна ClassWizard.
- Какой класс должен перехватывать сообщение
- Список сообщений
- 21. Команды. Реал-ция обр-ки команд с помощью ClassWizard
- Обновление команд.
- 22. Архитектура «Документ/представление».
- 23. Вывод на экран. Контекст устройства. Классы контекстов устройства в mfc.
- 24.Классы изобразительных средств. Примеры рисования простейших фигур.
- Рисование простейших фигур (пример)
- Изменение размеров и положения окна
- 25. Использование перьев. Работа с кистью.
- Работа с кистью
- 26. Концепция сохран.-восстановл. Объектов. Необходимые действия по сохр.-востан. Объектов класса cDocument. Разбор примера с сериализацией в классе документа.
- Создание класса, обеспечивающего сериализацию данных
- 27. Создание класса, обеспечивающего сохран.-восстан. Объектов. Разбор примера с сериализацией cMessage. Создание класса, обеспечивающего сериализацию данных
- 28. Непосредственное чтение и запись файлов. Класс сFile. Методы сFile. Режимы доступа к файлу.
- 29. Использование на примере основных методов класса cFile (открыть, записать, считать из файла). Использование стандартн. Диалог. Панелей для открытия и записи в файл.
- 30.Панель инструментов и строка состояния. Создание панели инструментов. Добавление и удаление пиктограмм.
- 31.Разработка ф-ций обработки сообщений, связ-х с пиктограммой на панели инструм-в. Класс панели инстр-в.
- 32. Доступ к базам данных в vs. Классы odbc.
- 34. Регистрация бд. Создание заготовки приложения.
- 35.Создание экранной формы для отображ-я содерж-го бд.
- 36.Добавление и удаление записей.
- 37. Сортировка и фильтрация записей.
- 3)Атрибуты данных
- 4) Операции
- 43.Класс cRecordset. Компоненты данных и осн.Методы (открытие набора, получ-е атрибутов результ. Набора IsOpen, IsBof, IsEof, IsDeleted, обновл-е результ. Набора)
- 1)Компоненты данных
- 2)Конструирование
- 44.Класс cRecordset. Компоненты данных и осн.Методы (операции перемещения пo результир-му набору, операции IsFieldDirty, IsFieldNull, Requary, SetFieldDirty, SetFieldNull).
- 1)Компоненты данных
- 45. Класс cRecordset. Переопределяемые методы (DoFieldExchange, GetDefoltSql, GetDefoltConnect).
- 46.Класс cRecordView.
- 1)Создание объекта
- 2)Атрибуты данных
- 47. Основные технологии com. Автоматизация. Перманентность. Моникеры.
- 48. Единообразная передача данных и объекты с подключением.
- 49. Технология ado. Объектная модель, наборы ado.
- 50. Применение ado Data Control и DataGrid Control.
- 2.2. Методические указания
- 51. Удаление, добавление и редактирование записей в технологии ado
- 52.Настройка Эл-тов упр-ния ado Data Control и DataGrid Control из кода приложения
- 53. Возможности AppWizard по созданию приложений, поддерживающих технологию ActiveX.
- 54.Библиотеки динамической компоновки dll
- 55.Создание и использование 32-битовых динамически связываемых библиотек
- 56. Создание рабочего потока. Управление приоритетами потоков
- 57. Синхронизация потоков. Объекты синхронизации и классы mfc.
- Объекты синхронизации и классы mfc.
- 58.Отладка программ в vs. Точка останова. Установка точек останова. Команды и окна отладки.
- Терминология отладки
- Команды и окна отладки
- Команды меню
- Установка точек останова
- Другие окна для отладки
- Окно Memory
- Применение утилиты mfc Tracer
- 59. Отладка программ в vs. Анализ значений переменных. Окно CallStact.