
- •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.
45. Класс cRecordset. Переопределяемые методы (DoFieldExchange, GetDefoltSql, GetDefoltConnect).
В эту категорию входят ф-ции, кот-е можно переопред-ть в каждом конкретном прилож-и, чтобы настроить его на выполнение текущих задач.
virtualvoidCRecordset::DoFieldExchange(СFieldExchange*pFx
Вызывается для организации обмена данными между полями результирующего набора и соответствующими столбцами текущей записи в источнике данных.
В качестве параметра функция принимает указатель на объект CFieldExchange, кот-й авт-ки созда-ся и передается библ-й MFC.
Собственно обмен данными осуществляется с помощью механизма RFX (Record Field Exchange, Обмен полями записи), который работает в обоих направления от полей данных результирующего набора к записям источника данных и наоборот.
virtual CString CRecordset::GetDefaultConnect()
Библиотека MFC вызывает данную функцию, чтобы получить строку, содержащую источник данных, на котором базируется результирующий нaбop.
virtual CString CRecordset::GetDefaultSQL()
Библиотека MFC вызывает эту функцию, чтобы получить строку, содержащую оператор SQL, на кот-м базируется результир-й набор. Это должно быть или имя таблицы, или непосредственно оператор SELECT. Можно также определить здесь вызов предопределенного запроса, используя оператор CALL.
46.Класс cRecordView.
Осн.методы (конструктор, OnGetRecordSet, OnMove).
CWnd-> CView->CScrollView->CFormView->CRecordView
Объекты этого класса предоставляют для изображения записей БД в элементах управл-я форму, кот-я непосредственно соед-на с объектом CRecordset. Объекты CRecordView исп-т мех-м DDX (Dialog Data Exchange, Обмен данными с блоком диалога) и RFX (Record Field Exchange, Обмен полями записей) для автомат-го перемещения данных м/у элем-ми упр-я формы и полями результир-го набора. Кроме того, м.восп-ся реализованными возм-ми перемещ-я по записям и обновления текущей записи.
Вce компон-ты и методы этого класса м.разбить на три категории:
1)Создание объекта.
Имеется только конструктор для создания объекта.
2)Атрибуты данных.
Три функции, используемые для получения информации результирующем наборе, к которому присоединена форма.
3)Операции.
Единственная функция, позволяющая программисту изменить указатель на текущую запись.
1)Создание объекта
В эту категорию входит только констр-р, имеющий две реализации.
CRecordView::CRecordView(LPCSTR lpszTemplateName)
CRecordView::CRecordView(UINT nIDTemplate)
Создает объект класса. В кач-ве парам-ра конструктор принимает идентификатор шаблона блока диалога, задаваемый либо строкой (lpszTemplateName), либо номером (nlDTemplate), При создании класса, производного от CRecordView, в нем можно определить только один конструктор, в котором необходимо вызвать конструктор базового класса CRecordView::CRecordView с идентификатором ресурса в качестве параметра.
2)Атрибуты данных
Функции этой категории позволяют получить информацию о представлении записи
virtual CRecordset*CRecordView::OnGetRecordset()
Возвращает указатель на объект CRecordset, ассоциированный с формой, позволяет тем самым работать с некот-м результир-м набором. Чисто виртуальная функция, которая требует обязательного переопределения.
Фрагмент кода (AppWizard):
CRecordset* CDBView::OnGetRecordset()
{ eturn m_pSet }
BOOL CRecordView::IsOnFirstRecord( )
Позволяет определить, является ли текущая запись первой в результирующем наборе, ассоциированном с данной формой. BOOL CRecordView::IsOnLastRecord( )
Позволяет определить, является ли текущая запись последней в результирующем наборе, ассоциированном с данной формой. 3)Операции
Имеется единственная функция, позволяющая программисту перемещаться по записям результирующего набора.
virtual BOOL CRecordView::OnMove(UINT nIDMoveCommand)
Позволяет изменять указ-ль на текущую запись (перемещаться no записям результирующего набора и отображать его поля в элементах управления формы).
Параметр nIDMoveCommand задает направление перемещения:
ID_RECORD_FiRST переход к первой строке в результир-м наборе
ID_RECORD_LAST переход к посл-й строке в результир-м наборе
ID_RECORD_NEXT переход к след-й строке в результир-м наборе
ID_RECORD_PREV переход к пред-й строке в результир-м наборе
Реализация этой функции по умолчанию обновляет текущую запись источника данных, если пользователь изменил ее в форме.