
- •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.
Изменение размеров и положения окна
В программе, использующей MFC, можно изменить размеры и положение окна с помощью функции PreCreateWindowO— члена класса главного окна приложения. Она вызывается автоматически перед началом формирования главного окна приложения. В главном окне содержатся все видимые объекты приложения и определяется размер представления.
Функция PreCreateWindow() имеет один аргумент— ссылку на экземпляр структуры CREATESTRUCT. Эта структура содержит всю информацию об окне, которое должно появиться на экране.
Если при создании приложения Windows вы не будете пользоваться библиотекой MFC, то со структурой CREATESTRUCT столкнетесь при обращении к функции API CreateWindow(), которая формирует окно приложения. Особое внимание тех, кто программирует с помощью MFC, привлекают члены сх, су, х и у. Изменяя сх и су, можно регулировать ширину и высоту окна, а изменяя х и у, — положение окна на экране. Перегрузив функцию PreCreateWi ndow(), вы получаете шанс пообщаться со структурой CREATESTRUCT еще до того, как Windows использует ее для формирования окна.
AppWizard уже создал CMainFrame:: PreCreateWindow(). Так что можете развернуть класс СМаin Frame в окне ClassView, дважды щелкнуть на названии PreCreateWindow() и отредактировать текст функции— включить в нее фрагмент:
BOOL CMainFrame: : PreCreateWindow(CREATESTRUCT& cs)
{cs.cx = 440;
cs.cy = 480;
if(!CFrameWnd::PreCreateWindow(cs)) return FALSE;
return TRUE;}
Эти операторы устанавливают новые высоту и ширину окна приложения.
25. Использование перьев. Работа с кистью.
Для пера требуется определить стиль начертания линии, ее толщину и цвет. Варианты стилей линии:
Стиль: Описание:
PS DASH Перо вычерчивает штриховую линию
PS DASHDOT Перо вычерчивает штрихпунктирную линию
PS DASHDOTOOT Перо вычерчивает штрихпунктирную линию с двумя точками
PS DOT Перо вычерчивает пунктирную линию
PS INSIDEFRAME Перо используется для вычерчивания линий внутри замкнутого контура
PS NULL Перо вычерчивает невидимую линию
PS SOLID Перо вычерчивает сплошную линию
Только сплошные линии могут иметь регулируемую толщину. Все линии, вычерчиваемые по шаблону, должны иметь толщину Толщина линии, которая увеличивается в каждом последующем цикле. Цвет линии. Макрос RGB принимает три значения соответственно для красной, зеленой и синей составляющих, и преобразует их в комбинированный код цвета, воспринимаемый Windows. Значения интенсивностей компонентов находятся в диапазоне 0-255 (естественно, чем больше величина, тем более интенсивный цвет).
RGB(0, 0, 0), // черный
RGB(255,0, 0), // красный
RGB (0,255., 0), // зеленый
RGB(0,0, 255), // синий
RGB(255,255, 0), // желтый
RGB(255,0, 255), // пурпурный
RGB(0,255,255), // голубой
RGB(127,127, 127), // серый
RGB(255,255, 255);// белый
Работа с кистью
Перо вычерчивает на экране линии заданной толщины. Кисть же закрашивает (заливает) внутреннюю область замкнутых фигур. Можно создавать сплошные кисти или стандартные трафаретные (pattern) и даже творить кисти из растровых картинок, которые будут содержать трафареты, созданные вашей фантазией.
Новые объекты (в этой функции — кисти) создаются вызовом new. Это позволяет использовать то конструктор с одним аргументом, который создает сплошную кисть, то конструктор с двумя аргументами, который создает трафаретную кисть.
Первый аргумент двухаргументного конструктора есть переменная цикла х;
Обычно вам не нужно показывать все трафареты заливки, следует только выбрать некоторый Подходящий. Можно использовать одну из перечисленных ниже констант трафаретов.
• HS_HORIZONTAL (горизонтальный)
• HS_VERTICAL (вертикальный)
• HS_CROSS (прямая клетка)
• HS_FDIAGONAL (диагональный, наклон влево)
• HS_BDIAGONAL (диагональный, наклон вправо)
• HS_D I AGONALCROSS (косая клетка)
Метод Rectanglе() — это только один из методов, используемых для построения на экране замкнутых фигур. Rectanglе()использует в качестве аргументов координаты левого верхнего и правого нижнего углов вычерчиваемого прямоугольника: Среди других методов, представляющих определенный интерес, — Chord(), Ellipse(), Pie() - сектор, Polygon() - многоугольник, PolyPolygon() – массив многоугольников, Polyline() – линия, соединяющая массив точек, и RoundRect() – прямоугольник со скругленными углами.