
- •1. Признаки сложных систем. Сложность, присущая программному обеспечению.
- •2. Компоненты объектно-ориентированного подхода.
- •3. Объекты и классы с точки зрения объектно-ориентированного проектирования.
- •4. Модели и диаграммы, используемые в объектно-ориентированном подходе.
- •5. Техника отладки.
- •6. Работа с многофайловыми проектами. Использование включаемых файлов.
- •9. Простое наследование. Контроль доступа к атрибутам класса.
- •10. Виртуальные функции (вф) и абстрактные классы.
- •11. Множественное и виртуальное наследование.Множественное наследование
- •12 Перегрузка операций
- •13. Шаблоны функций, макросы, inline-функции.
- •14. Шаблоны классов.
- •15. Обработка исключительных ситуаций, структурная обработка исключений.
- •16. Пространства имён. Кратко о механизме пространства имен
- •Зачем нужен механизм пространства имен?
- •Имитация средствами языка Си
- •Правило составления имени
- •Недостатки
- •17 Строки и потоки.
- •18.Стандартная библиотека: Контейнеры
- •19 Реализация устойчивости объектов средствами mfc.
- •20. Структура Windows-приложения WinApi
- •21. Структура Windows-приложения, использующего библиотеку mfc
- •Документы и их представление
- •22. Обработка сообщений
- •23. Контекст устройства
- •24.Объекты gdi
- •25.Использование контекста отображения в памяти.
- •26.Режимы отображения.
- •27.Работа с меню. Обработка сообщений.
- •28.Работа с диалогами. Обработка сообщений.
- •29. Работа с полями ввода и кнопками.
- •30. Работа со списками и выпадающими списками. Работа со списком
- •Работа с комбинированном списком
- •Инициализация
- •Операции со строками
- •31. Классы CimageList и CtreeCtrl. Класс cImageList
- •Изменение содержимого списка
- •32. Классы CimageList и ClistCtrl. Класс cImageList
- •Изменение содержимого списка
- •Создание просмотра списка
- •Работа со столбцами
- •Функции для работы со списком в целом
- •Рабочие области просмотра списка
- •Поиск и сортировка записей
- •33. Классы CprogressCtrl, cRichEdit Ctrl, CsliderCtrl, cSpinButton Ctrl.
- •34. Классы cPropertySheet и cPropertyPage.
- •35. Передача информации в диалог и обратно.
- •36. Работа со стандартными диалогами.
- •37.Обработка сообщений от клавиатуры и мыши(wm_char,wm_keYxxx,wm_xButtoNxxx,
- •38 Таймеры, использование времени простоя программы и локального цикла обработки сообщений.
- •39. Библиотеки динамической компоновки. Явная и неявная загрузка dll.
- •Согласование экспортируемых элементов с импортируемыми
Создание просмотра списка
В биб. MFS есть класс ClistCtrl, инкапсурирующий возможности рассматриваемого элемента управленияэ Как и большинство других эл. управления, просмотр списка создается в диалоге добавлением в шаблон блока диалога соовет. элемента или в обычном окне при помощи вызова фу-ции Create в фу-циях окна OnInitDialog (для диалогов):
BOOL ClistCtrl::Create (DWORD dwStyle, const RECT&rect, cWnd* pParentWnd, UINT nID ) -// пар. rect задает размер и расположение списка просмотра, pParentWnd – задает родительское окно (не рав. NULL); nID – задает идентефикатор просмотра списка, пар. dwStyle может сод. любые комбинации стилей элементов управления, а также след., свойственные рассматриваемому:
LVS_ALIGNLEFT Записи вырав. по лев. краю при просмотре в режиме крупных или мелких значков
LVS_ICON Задает режим крупных значков
LVS_LIST Задает режим списка
LVS_REPORT Задает режим таблицы, для возможности отображения значков совместно с записями таблицы следует скомбинировать с этим стилем стиль LVS_ICON
LVS_SMALLICON Задает режим мелких значков
LVS_EX_FLATSB В элементе управления плоские полосы прокрутки
Для добавления записи в список служит фу-ция InsertItem:
Int ClistCtrl :: InsertItem (const LVITEAM*pItem)
Для удаления записи списка по индексу следует использовать фу-цию DeleteItem, а для единовременного удаления всех записей - DeleteAllItem.
Работа со столбцами
Int ClistCtrl :: GetStringWidth (LPCTSTR lpsz) - // позволяет на основании строки текста определить минимальную ширину столбца необходимую для ее вывода на экран целиком
Для добавления (вставки) нового столбца служит фу-ция:
Int ClistCtrl :: InsertColumn (int nCol, const LV_COLUMN* pColumn) -// пар. nCol определяет индекс новог столбца
Для удаленbя столбца служит фу-ция DeleteColumn.
Функции для работы со списком в целом
Следующие фу-ции предназначены для управления выводом части записей списка в случае, если все они не могут быть расположены в окне просмотра списка.
BOOL ClistCtrl :: GetViewRect (LPRECT lpRect) - // возвращает размеры прямоугольника, ограничающего все записи списка в режиме мелких или крупных значков.
BOOL ClistCtrl :: GetItemRect (int nItem, LPRECT lpRect, UINT nCode) - // возвр. параметры прям-ка lpRect, ограничивающего весь или часть элемента. nItem – индекс элемента, чьи параметры должны быть возвращены, nCode –часть элемента, для которого возвращаются параметры.
Int ClistCtrl :: GetCountPerPage ()- // возвращ. кол-вл записей, кот. могут поместиться по вертикали в видимой части просмотра списка при просмотре в режиме списка или таблицы.
BOOL ClistCtrl :: GetOrigin (LPPOINT lpPoint ) - // возвращ. координаты, с которых начинается вывод элементов просмотра списка
BOOL ClistCtrl :: SetIconSpacing (int cx, int cy) - // устанавливают новое расстояние между значками по осям x и y.
BOOL ClistCtrl :: Scroll (CSsize, size) - // осуществляет прокрутку по вертикали и горизонтали на заданное кол-во пикселей
BOOL ClistCtrl :: Arrange (UINT nCode) - // инициирует переупорядочивание записей. Способ упорядочивания задается пар. nCode, кот. может принимать одно из след. значений:
LVA_ALIGNLEFT Записи длжны быть выровнены по левому краю окна
LVA_ALIGNTOP Записи длжны быть выровнены по верхнему краю окна
LVA_DEFAULT Записи должны быть переупорядоченны в соответствии с текущим установленным типом выравнивания