Чтение онлайн

на главную - закладки

Жанры

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

Панели для вывода документа на печать

Вы можете использовать класс CPrintDialog для создания двух видов диалоговых панелей, предназначенных для печати документов и выбора формата документов. Кроме класса CPrintDialog, вы можете также использовать класс CPageSetupDialog. Он позволяет создать диалоговую панель для выбора формата документа, имеющую несколько иной вид.

В приложения, подготовленные с использованием средств MFC AppWizard и построенные по технологии документ – окно просмотра, по умолчанию “встроена” возможность вывода редактируемого документа на печать.

Так, например, в меню File приложения Multi находятся три строки, которые управляют процессом печати документов, подготовленных в приложении. Мы привели внешний вид меню File

приложения Multi на рисунке 4.10.

Рис. 4.8. Меню File, приложения Multi

Чтобы распечатать документ, достаточно выбрать из меню File строку Print. На экране появится диалоговая панель Print, представленная нами на рисунке 4.9. В ней вы можете выбрать печатающее устройство для печати документов (группа Name), указать будет ли печататься весь документ, либо его часть (группа Print range), а также сколько копий документа будет напечатано (группа Copies). Вы также можете настроить различные характеристики печатающего устройства, если нажмете кнопку Properties в группе Printer.

Рис. 4.9. Стандартная диалоговая панель Print

Если вам требуется только определить печатающее устройство на котором будет печататься документ и определить формат документа, выберите из меню File строку Print Setup. В этом случае на экране появится несколько другоая диалоговая панель, внешний вид которой мы привели на рисунке 4.10.

В группе Printer вы можете указать печатающее устройство для печати документов и настроить его соответствующим образом. Группа Paper задает формат бумаги на котором будет печататься документ и режим подачи бумаги в печатающее устройство. Группа Orientation включает только один переключатель, определяющий ориентацию бумаги. Он принимает положение Portrait для вертикальной ориентации изображения на бумаги (режим “портрет”) или Landscape для горизонтальной ориентации изображения на бумаги (режим “ландшафт”).

Рис. 4.10. Стандартная диалоговая панель Print

В приложении Multi есть даже режим предварительного просмотра документа перед печатью. Если вы выберите из меню File строку Print Preview, то в главное окно приложения изменит свой внешний вид. В нем вы сможете просмотреть, как будет выглядеть документ после печати.

Если не требуется выполнять специфическую обработку документа перед печатью, то скорее всего, вам вообще не потребуется самостоятельно добавлять программный код, отвечающий за процесс печати. Тем более маловероятно, что вы будете самостоятельно создавать диалоговые панели типа Print, Print Setup или Print Preview. По этой причине мы не станем в этой книге рассматривать классы CPrintDialog и CPageSetupDialog. Процедура создания этих панелей практически не отличается от создания панели на основе класса CFileDialog. Описание методов классов CPrintDialog и CPageSetupDialog вы можете получить из документации Microsoft Visual C++.

Панель для выполнения поиска и замены

Класс CFindReplaceDialog предназначен для управления диалоговыми панелями Find и Replace. Диалоговая панель Find (рис. 4.11) используется для поиска известных строк в документе приложения, а панель Replace (рис. 4.12) позволяет выполнять замену одной строки на другую.

Рис. 4.11. Стандартная диалоговая панель Find

Важным отличием диалоговых панелей Find и Replace от других стандартных диалоговых панелей, является то, что они представляют собой немодальные диалоговые панели. Поэтому процесс создания этих панелей

значительно отличается от процесса создания стандартных панелей для выбора цвета, шрифта и имен файлов.

Рис. 4.12. Стандартная диалоговая панель Replace

Мы расскажем о стандартных диалоговых панелях Find и Replace в одной из следующих книг серии “Библиотека системного программиста”, которуые мы посвятим Microsoft Visual C++ и библиотеке MFC.

5. Базы данных и библиотека MFC

Сегодня без преувеличения можно сказать, что основной областью применения компьютеров стало хранение и обработка различной информации. Для этого предназначено большое количество различных систем управления базами данных (СУБД ).

Такие системы позволяют хранить большие объемы данных (десятки и сотни тысяч записей) и обеспечивать быстрый поиск необходимой информации.

Диапазон применения СУБД огромен. СУБД используются везде, начиная от небольших домашних баз данных, содержащих картотеку домашней библиотеки книг, и кончая распределенными базами данных, объединяющих десятки банков, офисов, магазинов и хранящих сведения о клиентах, товарах, производителях.

До недавнего времени на рынке персональных компьютеров превалировали базы данных для операционной системы MS-DOS. Среди них наиболее распространены Clipper, Clarion, Dbase, FoxPro 2.0 и некоторые другие.

С развитием операционной системы Windows практически все крупные производители программного обеспечения выпустили собственные системы управления базами данных для этой операционной системы. Так, Microsoft производит и распространяет две различные СУБД примерно одного класса – FoxPro for Windows и Access, Borland выпускает Object Vision и Paradox for Windows. Даже фирмы, производящие СУБД для больших и малых компьютеров, выпустили версии своих систем для операционной системы Windows.

В этой книге рассматривается интерфейс ODBC (Open Database Connectivity), разработанный Microsoft. Этот интерфейс позволяет приложениям Windows получить доступ к данным различных систем управления базами данных, используя запросы на языке SQL. При этом можно получить доступ к данным любой СУБД, для которой существует ODBC драйвер. Так, например, в состав дистрибутива Visual C++ входят ODBC драйверы для баз данных в формате Access, Btrieve, dBase, FoxPro, Excel, Paradox, а также для обычных текстовых файлов. Кроме того, поставляются ODBC драйверы и для удаленных СУБД – SQL Server и Oracle.

Библиотека классов MFC, поставляемая в составе Visual C++ содержит классы, предназначенные для упрощения взаимодействия с ODBC драйверами. Мы кратко расскажем про эти классы и расскажем как использовать систему автоматизированной разработки приложений AppWizard для создания приложений, поддерживающих работу с базами данных.

Создание базы данных

Итак, мы решили создать базу данных на основе обычного текстового файла. Запустите любой текстовый редактор, например Notepad. Вы также можете воспользоваться текстовым редактором среды Microsoft Visual C++. Наберите в нем файл TextBase.txt, представленный в листинге 5.1.

Листинг 5.1. Файл TextBase.txt

NAME;ADDRESS;PRIORITY;PHONE

Фролов Григорий Вячеславович;frolov@glas.apc.org;1;(не известен)

Фролов Александр Вячеславович;frolov@glas.apc.org;1;(не известен)

Евсеев Святослав Олегович;sun@power.com;4;8783-77-35

Николаев Петр Иванович;lis@nikol.com;4;1242-09-09

Петров Евгений Николаевич;petr@power.com;7;5453-59-05

Файл TextBase.txt содержит шесть записей (строк). Каждая запись состоит из четырех полей, разделенных символами ;. Самая первая строка отличается от остальных. Она содержит названия полей таблицы, котоорые мы будем использовать далее.

Поделиться:
Популярные книги

Низший - Инфериор. Компиляция. Книги 1-19

Михайлов Дем Алексеевич
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Низший - Инфериор. Компиляция. Книги 1-19

Ваше Сиятельство 8

Моури Эрли
8. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 8

Убивая маску

Метельский Николай Александрович
13. Унесенный ветром
Фантастика:
боевая фантастика
5.75
рейтинг книги
Убивая маску

Девять драконов

Скотт Джастин
Детективы:
триллеры
5.00
рейтинг книги
Девять драконов

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

День поминовения

Нотебоом Сэйс
Проза:
современная проза
5.00
рейтинг книги
День поминовения

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Князь Целитель 4

Ткачев Андрей Юрьевич
4. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Князь Целитель 4

Гримуар темного лорда VI

Грехов Тимофей
6. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда VI

Вернувшийся: Корпорация. Том III

Vector
3. Вернувшийся
Фантастика:
космическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Вернувшийся: Корпорация. Том III

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Жена неверного генерала, или Попаданка на отборе

Удалова Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Жена неверного генерала, или Попаданка на отборе

Как прорастают зерна

Волкова Дарья
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Как прорастают зерна

Вагант

Листратов Валерий
6. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Вагант