
- •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.
- •Согласование экспортируемых элементов с импортируемыми
32. Классы CimageList и ClistCtrl. Класс cImageList
CObject CImageList
Список изображений – мощное средство поддержки работы с бол. кол-вом битовых массивов и значков, доступ к которым осущ. по номеру. Требование к изображениям списка заключается в том, что все они должны иметь один размер. Список также может хранить монохромный битовый массив., используемый в качестве маски. Список поддерживает фу-ции рисования, создания и удаления всего списка, доб. и унич. состав. его элементов, их объединения и переноса. В MFC есть класс CImageList, инкапсулирующий возможности списка изображений. Список –это объект Windows, и класс CImageList, представляет удобный интерфейс с этим объектом.
Создание списка.
Осущ. при пом. дан. класса в два этапа. Во-первых следует создать объект класса, а затем вызвать одну из версий фу-ции Create для создания списка-объекта Windows.
BOOL CImageList :: Create ( int cx, int cy, BOOL bMask, int nInitial, int nGrow ) - // создает пустой список, с создаваемыми парам. сx и cy с размерами битовых массивов. При зад. ненулевого знач. парам. nInitial, сразу при соз. списка созд. битовый массив, кот. в даль. будет содержать изображения. Пар. nNGrow задает число, кот. определ. на сколько изображ. следует увеличивать битовый массив при необходимости. Пар. bMask опред. какого типа следует создавать список – содержащий маски или нет.
Изменение содержимого списка
Для добавления, удаления и замены изображений используются фу-ции Add, Remove, Replace соотсет.
Int CImageList:: Add (Cbitmap* pbmImage, CBbitmap* pbmMask ) - // позволяет не только добавлять сразу несколько битовых массивов,кол-во которых опред. заданной при создании шириной изображений списка, но и зад. маску для изображений.
BOOL CImageList :: Remove (int nImage ) - // удал. элемент с индексом nImage из списка изображений
Знаки в отл. от битовых массивов, уже содержат маску, позволяющую производить рисование а прозрачном режиме. Следующая фу-ция создает значек на основе битового массива и маски (если она есть):
HICON CImageList ::ExtractIcon (int nImage) -//возвращает дискриптор созданного значка для изображения по номеру, задавемому пар. nImage.
Для заполнения и сохр. Всех изображений списка реализованны фу-ции:
BOOL CImageList :: Read (Carchve* pArchive)
и
BOOL CImageList :: Write (Carchve* pArchive) -// используют указатели на объекты класса Carchive.
Т.к. объект класса CImageList лишь представляет в программе объект Windows, путем связывания с ним последнего можно обеспечить доступ к ранее созданному друг. средствами списку. К фу-циям данной группы относятся фу-ции Attach и Datach.
Информация о списке.
Для получения ин-ции о параметрах списка следует пользоватся фу-ями GetImageCount, возвращающей кол-во элементов (изибражений) списка, и GetImageInfo, заполняющей структуру IMAGEINFO ин-цией об изображении по его порядковому номеру в списке:
BOOL CImageList :: GetImageInfo (int nImage, IMAGEINFO* pImageInfo )
Рисование изображений.
Для отображения в прозрачном режиме, когда все точки области устройства вывода изображения имеют один и тот же цвет, следует задать цвет фона изображения таким же, что и цвет области. В этом случае существенно ускоряется процесс вывода, т.к. не требуется дополнительное использ. маски. Для этого класс CImageList имеет в своем составе фу-цию:
COLORREF CImageList :: SetBkColor (COLORREF cr) - // возвращает ранее установленный цвет фона. По умолчанию цвет имеет значение CLR_NONE, в этом случае прозрачный режим реализуется с исп. маски.
Для рисования изображений следует использовать фу-цию Draw:
BOOL CImageList :: Draw (CDC* pdc, int nImage, POINT pt, UINT nStyle) - // осущ. вывод на устройство , определяемое указателем (пар. pdc) на объект класса CDC, по координатам, задаваемым параметром pt. Изображение определяется индексом (параметром nImage). Параметр nStyle задает режим вывода изображения и может содержать комбинацию след. значений.
ILD_NORMAL Рисование осущ. на основе цвета фона, заданного вызовом фу-ции SetBkColor, что позволяет реализовать прозрачный режим и при отсутствии маски.
ILD_TRANSPARENT Рисование осущ. с использованием маски вместо цвета фона.
и другие режимы.
Класс СlistCtrl
CObject CCmdTarget CWnd ClistCtrl
Просмотр списка – мощное средство представления упорядоченного списка элементов, каждый из которых может иметь структуру, состоящую из нескольких полей.
Элемент “просмотр списка” может выводить записи 4 разл. способами:
Крупные значки (Large Icons) задается стилем LVS_ICON
Мелкие значки (Small Icons) задается стилем LVS_SmallICON
Список (List) зад. стилем LVS_LIST
Таблица (Report) зад. стилем LVS_REPORT