
- •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.
16. Комбинированные списки (класс cCombobox).
Этот класс является комбинацией списка и однострочного редактора, поэтому для комб-го списка исп-ся стили, коды извещения и сообщения, анал-ые списку CListbox, а также некот-е сообщения, спец-кие для редактора текста класса CEdit. При создании списка CCombobox указ-ся спец-ные стили комб-го списка, символические имена которых имеют префикс CBS_.
Рассмотрим базовые стили комбинированного списка.
Среди всех стилей комбин.списка можно выделить три базовых, которые задаются при его создании в меню PROPERTIES.
Style |
When is list box visible? |
Static or edit control? |
Simple |
Always |
Edit |
Drop-down |
When dropped down |
Edit |
Drop-down list |
When dropped down |
Static |
По умолчанию предлагается Simple. В этом случае список постоянно отображен на экране. В поле ввода, распол-ся сверху, можно вводить любые данные. С помощью мыши можно выделять элемент в прикрепленном окне списка, и он будет попадать в поле ред-ния. Кроме того, если в поле ред-ния набрать символы, совп-щие с нач-ми символами некот-ых эл-тов списка, эти эл-ты станут первыми в списке. Стиль Dropdown (раскрыв-ся). В поле ввода (edit control), м.вводить любые данные, а, щелкнув на стрелку, – раскрыть окно списка и выбрать в нем любой элемент. Отмеченный элемент отображается в поле ред-ния. Если в поле ред-ния набрать символы, совпадающие с начальными символами некоторых эл-тов списка, эти эл-ты станут первыми в списке. Стиль Droplist. В этом комб-ном списке пользователь сможет выбирать элементы только из раскрыв-ся списка. Для этого он, щелкнув стрелку, укажет нужную строку или введет первую букву из выделенной строки. Combobox можно иниц-ть в окне Properties. На вкладке Data есть окно Enter Listbox Items. Каждую строку в нем следует заканчивать Ctrl+Enter. Listbox можно иниц-ть только когда начинается диалог, в функции OnInitDialog, которая увязана с сообщением WM_INITDIALOG, класса CSDIDialog. Сообщения от комб-го списка, посылаемые род-му окну. Коды извещения для комб-ого списка имеют симв-кие имена с префиксом CBN_. Рассмотрим сообщения, посылаемые родит-ским окном, комб-ным спискам. Для упр-ния списком combobox исп-ся набор сообщений, аналогичный набору сообщений для списка CListbox и редактора текста CEdit. В файле windows.h определены сообщения, специально предназначенные для работы со списком combobox. Символические имена этих сообщений имеют префикс CB_. Сообщения: CBN_ERRSPACE - превышен размер памяти, отведенный для списка. CBN_SELCHANGE - изменен текущий выбор (подсветка перемещается по списку); CBN_DBLCLK - на пункте списка имел место двойной щелчок мышью. Окно списка посылает коды уведомления CBN_SELCHANGE и CBN_DBLCLK только в том случае, если в стиль дочернего окна включен идентификатор CBN_NOTIFY. CBN_KILLFOCUS - Потеря фокуса. CBN_SELCANCEL - Выбор с элемента снимается. CBN_SETFOCUS - Получение фокуса. Многие методы Combobox и Listbox совпадают. В Combobox нет методов, связанных с множественным выбором. 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;