
- •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.
- •Согласование экспортируемых элементов с импортируемыми
29. Работа с полями ввода и кнопками.
Кнопка (Button)
Элемент управления кнопка, называемый также командная кнопка, как правило, используется для вызова сообщения BN_CLICKED.
Вкладки окна Properties, позволяющие настраивать свойства элемента управления командная кнопка на этапе проектирования.
Переключатель Default button позволяет указать командную кнопку, устанавливаемую как кнопка по умолчанию. Эта кнопка при первоначальном отображении окна имеет внутри темную пунктирную рамку и нажатие пользователем клавиши Enter интерпретируется как щелчок по данной кнопке.
Переключатель Owner draw используется для создания кнопок с настраиваемым появлением (использующих переопределяемый разработчиком метод OnDrawItem класса CWnd). Отметим, что также можно создать производный класс от CButton и переопределить методы CButton::DrawItem и CButton: :OnDraw.
Переключатель Icon позволяет указать, что вместо текста будет отображена пиктограмма (стиль BS_ICON). При создании кнопки стиля BS_ICON ей посылается сообщение BM_SETIMAGE со следующими значениями параметров: wParam равен IMAGE_ICON, IParam определяет отображаемую для кнопки пиктограмму.
Переключатель Bitmap позволяет указать, что вместо текста будет отображено изображение (стиль BS_BITMAP). При создании кнопки стиля BS_BITMAP ей посылается сообщение BM_SETIMAGE со следующими значениями параметров: wParam равен IMAGE_BITMAP, IParam определяет отображаемое изображение.
Переключатель Multi-line используется в том случае, если текст слишком длинный, чтобы уместиться на кнопке в одну строку.
Если переключатель Notify включен, то при щелчке или двойном щелчке мыши на кнопке родительское окно будет получать уведомление.
Переключатель (Check Box)
Переключатель, иногда называемый флажком, может иметь два или три состояния: включенное, выключенное или неопределенное (не обязательно).
Переключатель можно связать как с переменной типа BOOL, так и с объектом класса CButton.
Вкладки окна Check Box Properties, позволяющие настраивать свойства элемента управления переключатель на этапе проектирования.
Переключатель Auto позволяет создавать элемент управления, переключение состояний (включен/выключен) которого происходит автоматически при щелчке мыши.
Переключатель Tri-state используется для создания элемента управления “переключатель”имеющего три состояния. Одновременно с состояниями включен или выключен используется состояние не определен, в котором переключатель выглядит "посеревшим".
Если включен переключатель Push-like, то создается элемент управления переключатель, отображаемый как командная кнопка: при нажатии переключатель имеет вид вдавленной кнопки, а при ненажатом состоянии -выпуклой кнопки.
Переключатель Flat создает плоскую кнопку.
Радиокнопка (Radio Button)
Элемент управления радиокнопка аналогичен переключателю, но не может иметь неопределенного состояния. Также при объединении нескольких радиокнопок в группу только одна из них может иметь включенное состояние.
Радиокнопку можно связать как с переменной типа BOOL, так и с объектом класса CButton.
Вкладки окна Radio Button Properties, позволяющие настраивать свойства элемента управления радиокнопка на этапе проектирования.
Окно редактирования (Edit Box)
Окно редактирования представляет собой однострочное или многострочное поле ввода. Инициализация элемента управления Edit Box выполняется программным путем. В зависимости от того, каким образом установлена связь между элементом управления и приложением, существуют различные способы использования этого элемента управления. Если элемент управления связан с объектом класса CEdit, то для работы с ним можно применять все методы этого класса.
На рис. 5.6 и 5.7 представлены вкладки окна Edit Properties, позволяющие настраивать свойства элемента управления окно редактирования на этапе проектированияДля создания многострочного окна редактирования следует включить переключатель Multiline. Для установки разбиения на строки с использованием мягкого конца строки следует установить свойство Auto HScroll. При мягком конце строки, в отличие от жесткого конца строки, окно редактирования отображает разделение на строки, не вставляя непосредственно в сам текст символов конца строки и перевода каретки.
Для того чтобы разрешить вставку в окне редактирования новых строк, следует включить переключатель Want return.
При двойном щелчке мыши на элементе управления окно редактирования Visual C++ открывает окно, отображающее список событий (рис. 5.8), которые можно использовать для данного элемента управления.
На левой панели этого окна расположен список всех доступных событий для элемента, выделенного на панели Class or object to handle.
Для того чтобы автоматически добавить в программу определение метода для обработки выделенного события, следует щелкнуть на командной кнопке Add Handler. При щелчке на командной кнопке Add and Edit происходит автоматическое добавление определения метода для обработки события и переход в окно редактирования программного кода этого метода.