Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
- Название:Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
- Автор:
- Жанр:
- Издательство:Диалог-МИФИ
- Год:1996
- Город:Москва
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 краткое содержание
Книга посвящена программированию в среде Microsoft Visual C++ с использованием библиотеки классов MFC. В ней мы расскажем о разработке приложений с многооконным пользовательским интерфейсом, использовании классов MFC для создания меню, панелей управления и состояния. Рассмотрим возможности повторного использования программного кода, предоставляемые Microsoft Visual C++. Отдельную главу книги мы посвятили разработке приложений, взаимодействующих с базами данных через драйвера ODBC.
Книга предназначена для всех, кто интересуется программированием в среде операционных систем Windows 95 и Windows NT версий 3.51 и 4.0.
Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
int result = mFileOpen.DoModal();
Если пользователь отказался от выбора файлов и нажал кнопку Cancel, тогда метод DoModal возвращает значение IDCANCEL. В этом случае приложение отображает сообщение File not selected и завершает свою работу:
AfxMessageBox("File not selected");
Если пользователь выбрал из диалоговой панели Open один или несколько файлов и нажал кнопку Open, тогда метод DoModal возвращает значение IDOK. В этом случае вызывается метод GetStartPosition, который записывает в переменную pos типа POSITION значение, необходимое методу GetNextPathName для получения всех имен выбранных файлов:
POSITION pos;
pos = mFileOpen.GetStartPosition();
Переменная pos передается методу GetNextPathName. Этот метод получает очередное имя выбранного файла и изменяет значение переменной pos. До тех пор, пока значение pos не станет равно NULL, метод GetNextPathName вызывается в цикле и получает очередное имя файла:
while (pos != NULL) {
// Получаем имя очередного файла
msg = mFileOpen.GetNextPathName(pos);
// Отображаем имена файлов
AfxMessageBox("Selected File – " + msg);
}
Полученные имена файлов отображаются на экране с помощью функции AfxMessageBox. Обратите внимание, что в качестве параметра этой функции передается результат операции конкатенации строки Selected File и объекта класса CString.
Виртуальные методы класса CFileDialog
В классе CFileDialog определен ряд виртуальных методов, которые вы можете переопределить по своему усмотрению. Эти методы вызываются для объектов класса, когда происходят соответствующие события.
Метод | Описание |
---|---|
OnShareViolation | Вызывается в случае нарушения прав доступа к файлу |
OnFileNameOK | Вызывается для проверки имени файла, введенного в диалоговой панели |
OnLBSelChangedNotify | Вызывается при изменении выделения в списке файлов диалоговой панели |
OnInitDone | Вызывается для обработки сообщения WM_NOTIFY CDN_INITDONE |
OnFileNameChange | Вызывается для обработки сообщения WM_NOTIFY CDN_SELCHANGE |
OnFolderChange | Вызывается для обработки сообщения WM_NOTIFY CDN_FOLDERCHANGE |
OnTypeChange | Вызывается для обработки сообщения WM_NOTIFY CDN_TYPECHANGE |
Прототипы перечисленных выше виртуальных методов вы можете найти в справочной системе Microsoft Visual C++.
Панель для выбора шрифта
Стандартная диалоговая панель Font предназначена для выбора шрифта. Диалоговая панель Font отображает список шрифтов, установленных в системе, и позволяет выбрать название шрифта, его начертание, кегль, выделение, цвет, набор национальных символов (рис. 4.7).
Для управления диалоговой панелью Font в библиотеку классов MFC включен класс CFontDialog. Методы этого класса можно использовать для отображения панели Font и определения характеристик шрифта, выбранного пользователем.

Рис. 4.7. Стандартная диалоговая панель Font
Конструктор класса CFontDialog:
CFontDialog(LPLOGFONT lplfInitial = NULL, DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS, CDC* pdcPrinter = NULL, CWnd* pParentWnd = NULL);
Все параметры конструктора CFontDialog являются необязательными. Первое время, когда вы изучаете класс CFontDialog, вы можете не задавать ни одного параметра. Настройка стандартной панели выбора шрифта, которая выполняется конструктором класса CFontDialog по умолчанию, удовлетворит большинство потребностей.
Мы не станем подробно описывать параметры конструктора, вы найдете это описание в документации Microsoft Visual C++. Сейчас мы приведем только краткий обзор этих параметров. Дополнительную информацию по использованию стандартных панелей выбора шрифта вы можете получить в 14 томе “Библиотеки системного программиста”.
Параметр lplfInitial является указателем на структуру типа LOGFONT, описывающую логический шрифт. Если используете этот параметр, то в диалоговой панели Font по умолчанию будет выбран шрифт наиболее полно соответствующий шрифту, описанному в структуре LOGFONT. По умолчанию данная возможность не используется.
Параметр dwFlags задает набор флагов, управляющих различными режимами работы панели Font.
Через параметр pdcPrinter можно передать конструктору контекст отображения принтера, шрифты которого будут представлены в диалоговой панели Font. Данный параметр используется только в том случае, если в параметре dwFlags указан флаг CF_PRINTERFONTS или CF_BOTH.
Через параметр pParentWnd можно указать родительское окно для далоговой панели Font.
Методы класса CFontDialog
Для отображения диалоговой панели Font предназначен виртуальный метод DoModal:
virtual int DoModal();
Если пользователь выбрал шрифт и нажал на кнопку OK, метод DoModal возвращает идентификатор IDOK, если пользователь отменил выбор шрифта, метод DoModal возвращает идентификатор IDCANCEL.
Остальные методы класса предназначены для определения характеристик выбранного пользователем шрифта. Полное описание этих методов содержится в документации, поставляемой с Visual C++.
Метод GetCurrentFont позволяет сразу определить все характеристики выбранного щрифта, записав их в структуру LOGFONT. Вы можете найти описание структуры LOGFONT в документации SDK.
Остальные методы класса позволяют определить только отдельные характеристики выбранного шрифта. Перечислим названия этих методов.
Метод | Описание |
---|---|
GetFaceName | Возвращает имя выбранного шрифта |
GetStyleName | Возвращает имя стиля выбранного шрифта |
GetSize | Возвращает кегль выбранного шрифта |
GetColor | Возвращает цвет выбранного шрифта |
GetWeight | Возвращает плотность выбранного шрифта |
IsStrikeOut | Определяет является ли шрифт выделеным перечеркнутой линией |
IsUnderline | Определяет является ли шрифт выделеным подчеркиванием |
IsBold | Определяет является ли шрифт жирным |
IsItalic | Определяет является ли шрифт наклонным |
Панели для вывода документа на печать
Вы можете использовать класс CPrintDialog для создания двух видов диалоговых панелей, предназначенных для печати документов и выбора формата документов. Кроме класса CPrintDialog, вы можете также использовать класс CPageSetupDialog. Он позволяет создать диалоговую панель для выбора формата документа, имеющую несколько иной вид.
В приложения, подготовленные с использованием средств MFC AppWizard и построенные по технологии документ – окно просмотра, по умолчанию “встроена” возможность вывода редактируемого документа на печать.
Так, например, в меню File приложения Multi находятся три строки, которые управляют процессом печати документов, подготовленных в приложении. Мы привели внешний вид меню File приложения Multi на рисунке 4.10.

Рис. 4.8. Меню File, приложения Multi
Читать дальшеИнтервал:
Закладка: