
- •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.
31.Разработка ф-ций обработки сообщений, связ-х с пиктограммой на панели инструм-в. Класс панели инстр-в.
В большинстве случаев после того, как вы определите ресурсы панели инструментов и свяжете ее пиктограммы с идентификаторами соответствующих команд, ваша работа с панелью инструментов будет закончена. Тексты программ, подготовленные для вас AppWizard, обеспечат создание панели инструментов, a MFC при необходимости позаботится о вызове соответствующих функций обработки сообщений. Но может возникнуть ситуация, при которой вам потребуется изменить принятый по умолчанию порядок работы панели инструментов. В этом случае у вас есть возможность обратиться к функциям, входящим в состав класса СТооlBar. Панель инструментов доступна из класса CMainFrame как переменная-член m_wndToolBar. Как правило, порядок работы панели инструментов корректируется функцией CMainFrame::OnCreate().
Функции-члены класса СТооlBar.
Функция Назначение
CommandToIndex() Возвращает индекс пиктограммы
соответственно ее идентификатору
Create() Создает панель инструментов
GetButtonlnfo() Возвращает информацию о пиктограмме
GetButtonStyle() Возвращает стиль пиктограммы
GetButtonText() Возвращает текст названия пиктограммы
GetItemID() Возвращает идентификатор пиктограммы
соответственно ее индексу в панели
GetItemRect() Возвращает параметры прямоугольника,
ограничивающего элемент, индекс
которого задается как аргумент функции
GetToolBarCtrl() Возвращает ссылку на объект класса
CToolBarCtrl, представленный объектом СТооlBar.
LoadBitmap() Загружает графические изображения пиктограмм
LoadToolBar() Загружает ресурсы панели инструментов
SetBitmap() Задает графические образы пиктограмм новой
панели инструментов
SetButtonlnfo() Определяет идентификатор, стиль и номер
графического образа пиктограммы
SetButtons() Задает идентиф-ры для пиктограмм панели инст-в
SetButtonStyle() Задает стиль пиктограммы
SetButtonText() Задает текст названия пиктограммы
SetHeight() Задает высоту панели инструментов
SetSizes() Задает размеры пиктограмм
Как правило, у вас не возникнет необходимости вызывать методы панели инструментов, но, обращаясь к ним, можно достичь некоторых необычных результатов, например, увеличить размеры панели инструментов. Подобный вид панели инструментов получен путем обращения к методу SetHeightO объекта— панели инструментов.
Методы класса CToolBar : дают возможность выполнять с панелями инструментов различные трюки, но пользоваться ими следует с большой осторожностью.
32. Доступ к базам данных в vs. Классы odbc.
Без сомнения, базы данных являются наиболее популярными компьютерными приложениями. Они находят применение фактически в любом виде коммерческой деятельности, начиная от создания списков покупателей и заканчивая платежными ведомостями компании.
Современные версии Visual C++ включают классы, базирующиеся на механизмах ODBC (Open Database Connectivity — открытая связь с базами данных) и DAO (Data Access Objects— объекты доступа к данным).
Основные понятия теории баз данных
Однофайловая модель базы данных:
В простейшем представлении база данных является набором записей. Каждая запись в базе данных состоит из полей, а в каждом поле содержится информация, связанная с этой конкретной записью. В такой базе данных каждому клиенту соответствует одна запись. Она состоит из шести полей: ИМЯ, УЛИЦА, ДОМ, ГОРОД, ИНДЕКС (почтовый индекс) и ТЕЛЕФОН (номер телефона) (пример одной записи). Вся БД будет состоять из большого кол-ва подобных записей. Данный тип СУБД исп-т однофайловую модель базы данных (flat database model). Однако в случае больших баз данных, одноф-я модель может привести к дублир-ю инф-и и нерацион-му исп-ю памяти.
Реляционная модель базы данных:
Реляционная (от relation — отнош-е, связь) БД подобна неск-м связ-м одноф-м БД. При работе с реляционной БД можно не только выполнять поиск отдельн. записей, как это дел-ся в одноф-й БД, но и устанавл-ть связь одного набора записей с другим. Это позволяет организовать гораздо более эф-ное хранение данных. Каждый набор записей в реляц. БД наз-ся таблицей (table). Связи устан-ся с исп-м ключей (key), т.е. полей, значения которых хар-ют запись. (Напр, идентификационный код служащего мог бы быть ключом для таблицы служащих.)
Доступ к базе данных
Доступ к данным в реляц-х СУБД осущ-ся с исп-м опред-го командн. языка. Чаще всего для доступа к БД исп-ся язык SQL, который прим-ся при работе не только с СУБД для настольных комп-в, но и с громадными БД, исп-ми в банках, учебных завед-х, промышл-х корпорациях и других учр-х, в кот-х необх-мо решать сложнейшие задачи обр-ки инф-ции. Используя язык, подобный SQL, можно извлекать данные, представл-е полями записей из одной или неск-х таблиц, кот-е объед-ны в реляц. БД.
Классы ODBC Visual C++
Создавая с помощью мастера Visual C++ AppWizard прог-му, работ-ю с БД, вы получаете в итоге прилож-е, широко использ-е различные классы ODBC из состава библиотеки MFC. Наиболее важными из этих классов являются CDatabase, CRecordset и CRecordView.
Мастер AppWizard автомат-ки генерирует текст прог-мы, необх-й для coздания объекта класса CDatabase. Этот объект обесп-т связь м/у созд-м прилож-м и источником данных, с которым оно работает. В большинстве случаев использование класса CDatabase в прог-х, сгенерир-х AppWizard, прозрачно для программиста. Вся необх-я обр-ка обеспеч-ся самой сист-й упр-я.
Кроме того, AppWizard генерирует текст программы создания объекта класса CRecordset, используемого в приложении. Объект класса CRecordset представляет собой реальные данные, выбранные в настоящий момент из источника данных, а его методы обеспечивают выполнение операций с этими данными. В дальнейшем данные, выбранные программой в текущий момент, будем называть выборкой данных.
И наконец, объект класса CRecordView в БД-программе занимает место объекта класса представления, с которым постоянно приходится иметь дело в приложениях, созданных с помощью мастера AppWizard. Окно, создаваемое объектом класса CRecordView, подобно диалоговому окну, выполн-му роль средства общения пользователя с приложением. Это диалоговое окно обеспечивает в приложении связь с объектом класса CRecordset, осуществляя обмен инф-й между программой, элементами управления окна и выборкой данных. Когда с помощью мастера AppWizard создается новое БД-приложение, на программиста возлагается обязанность поместить в окно объекта CRecordView элементы управления, способные выполнять ввод и редактирование данных. Как правило, это текстовые поля. Такие элементы управления следует связать с полями записей базы данных, которые они представляют, для того, чтобы приложение направляло данные, выбранные для просмотра, куда следует.
Создание БД-программы на основе классов ODBC:
Создать с помощью Visual C++ простую БД-программу, использующую классы ODBC, совсем несложно — для этого нужно выполнить всего несколько операций.
1. Зарегистрировать базу данных в системе.
2.Исп-я мастер AppWizard, создать заготовку БД-приложения.
3.Добавить в заготовку приложения программный код, реализующий функции, которые AppWizard автоматически не формирует.