
- •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.
- •Согласование экспортируемых элементов с импортируемыми
Работа с комбинированном списком
CObject ->CCmdTarget ->CWnd->CComboBox
Это эл. упр., пред. собой комбинацию окна списка с окном текстового поля и наз. “ком. списком” (COMBO BOX).Часть ком. списка – непосредственно список – может выводится на экран все время(стиль CBS_SIMPLE) или может как бы раскрываться из текстового поля (стили CBS_DROPDOWN и CBS_DROPDOWNLIST). Текущая выбранная запись списка выводится в прямоугольном окне, кот. пред. собой окно простейшего тектового поля, и может быть как доступна, так и не доступна для редактирования. Если к этому же комбин. список определен как раскрывающийся, то при нажатии символьной клавиши на клавиатуре строка, начинающаяся с данного символа, будет выделена.
Если мы хотим обрабатывать уведомляющие сообщения Windows, посылаемые комб. списком своему род. окну (обычно это объект класса, производного от CDialog), то необходимо добавить в карту сообщений этого окна соответ. обработчик.
Инициализация
Создание объекта CComboBox и собственно комбинированного списка Windows в коде программы требует вызова конструктора класса и фу-ции Create:
BOOL CcomboBox::Create(DWORD dwStyle,const RECT&rect,CWnd*pParentWnd,UINT nID) - // создает комб. Список и связывает его с объектом CcomboBox. Фу-ция возвращ. значение TRUE в случае успешного завершения. Пар. dwStyle задает стиль комб. Списка, кот. может принимать комбинацию след. значений.
CBS_AUTOHSCROLL текст в текс. поле авт. прокручивается по горизонтали вправо и влево.
CBS_SIMPLE список изображается на экране все время, редактиров. разрешено
Основные операции с комб. списком.
Для управления раскрывающимся списком след. фу-ции:
void CComboBox ::ShowDropDown(BOOL bShowIt = TRUE) - //делает видимым или невидимым список в комб. списке, имеющим стиль CBS_DROPDOWN и CBS_DROPDOWNLIST
BOOL CComboBox ::GetDroppedState() - // опред., видим или нет раскрывающийся список в ком. списке.
int CСomboBox ::GetDroppedWidth()- //возвращ. минимальную допуст. Ширину раскрывающегося списка в ком. списке
int CСomboBox ::SetDroppedWidth(UINT nWidth)- // устанавливает. мин. допустимую ширину раскрыв. списка в комб. списке.
void CcomboBox ::GetDroppedControlRect(LPRECT lprect) - //возвращ. экранные коорд. Видимого раскрывающегося списка. Пар. lprect – указатель на структуру RECT, кот. получит запрашиваемые координаты.
int CСomboBox ::GetBTextLen(int nIndex) – фу-ция для определения длины строки (в байтах)
Операции со строками
int CСomboBox :: AddString(LPCTSTR lpszString) - // доб. строку в список
int CСomboBox ::DeleteString(UINT nIndex) - // удаляет строку из списка
int CСomboBox ::FindString(int nStartAfter,LPCTSTR lpszString) -// осущ. поиск строки
int CСomboBox ::FindStringExact(int nIndexAfter,LPCTSTR lpszFind) -// ищет строку, целиком совпадающую с заданной.
31. Классы CimageList и CtreeCtrl. Класс 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 опред. какого типа следует создавать список – содержащий маски или нет.