Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 123

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 117 118 119 120 121 122 < 123 > 124 125 126 127 128 129 .. 204 >> Следующая

// ПРИМЕЧАНИЕ - Мастер ClassWizard будет добавлять и // удалять здесь макросы обработки сообщений
//НЕ РЕДАКТИРУЙТЕ текст в этих блоках сгенерированного кода! //)}AFX_MSG_MAP END_MESSAGE_MAP()
1111111111111111111111111111111111111111111111111111111111111111 ii Конструктор/деструктор класса CMiniEditView
CMiniEditView::CMiniEditView() (
// TODO: Здесь добавьте код конструктора
)
CMiniEditView::~CMiniEditView()
(
)
BOOL CMiniEditView::PreCreateWindow(CREATESTRUCT& cs) (
// TODO: Здесь модифицируйте класс или стиль окна, // изменяя поля структуры CS
BOOL bPreCreated = CEditView::PreCreateWindow(cs); cs.style &= ~(ES_AOTOHSCROLL|WS_HSCROLL); // Перенос слов разрешен
return bPreCreated; )
1111111111111111111111111111111111111111111111111111111111111111 11 Отображение окна класса CMiniEditView
void CMiniEditView::OnDraw(CDC* pDC) {
CMiniEditDoc* pDoc = GetDocument(); AS S E RT_VALID(pDoc);
// TODO: Здесь добавьте код отображения собственных данных
)
1111111111111111111111111111111111111111111111111111111111ii1111
ii Диагностика класса CMiniEditView #ifdef _DEBUG
void CMiniEditView::AssertValid() const {
CEditView::AssertValid();
}
void CMiniEditView::Dump(CDumpContextS dc) const {
CEditView::Dump(dc);
)
CMiniEditDoc* CMiniEditView::GetDocument()
//не отладочная версия // является встроенной
(
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMiniEditDoc))); return (CMiniEditDoc*)m_pDocument;
}
#endif //_DEBUG
111111111111111111111111111111ii11111111111111111111111111111111 ii Обработчики сообщений класса CMiniEditView
Другие способы ввода-вывода файлов
Сериализация обеспечивает удобный способ чтения документа и записи его в файл на диске с помощью команд меню File. При сериализации класса CArchive документ последовательно считывается из файла на диске, данные сохраняются и обрабатываются внутри программы, а документ последовательно записывается обратно в файл на диске. Данные файла сохраняются в двоичном формате и вместе с фактическими данными документа содержат информацию о версии программы и классе.
В качестве альтернативы MFC позволяет использовать низкоуровневые методы ввода-вывода, которые позволяют перемещать файловый указатель на заданное место в файле, читать или записывать определенное число байтов и выполнять другие операции. Использование альтернативных методов делает возможной реализацию функции ввода-вывода для файлов, не удовлетворяющих требованиям сериализации (например, прочитать или записать простые текстовые файлы либо часть большого файла, не сохраняя весь файл).
Один из способов файлового ввода-вывода заключается в использовании MFC-класса CFile. Объект класса CFile присоединяется к указанному файлу, предоставляя обширный набор функций для выполнения универсальных операций двоичного ввода и вывода данных без буферизации. Создать собственный объект класса CFile можно в любой момент, когда понадобится выполнить операцию ввода-вывода. Кроме того, MFC присоединяет объект класса CFile к открытому файлу - объекту CArchive, передаваемому в функцию Serialize. К этому объекту класса CFile можно обратиться, вызвав функцию CArchive: :GetFile. (Можно вызывать функции Seek, Read, Write и др.) Ввод-вывод текстового файла выполняется с использованием класса cstdioFile, производного от CFile, а чтение и запись — с использованием класса CMemFile, также порожденного от класса
CFile. Полная информация о классах CFile, CStdioFile и CMemFile содержится в следующих разделах справочной системы: Visual С++ Documentation, Reference, Microsoft Foundation Class Library and Templates, Microsoft Foundation Class Library, Class Library Reference.
Можно выполнять операции над файлами, используя функции ввода-вывода Win32 API. В отличие от Windows 3.1 API (с небольшим количеством файловых функций), Win32 API обеспечивает полный набор функций чтения, записи и управления файлами. Информацию по этому вопросу смотрите в следующих разделах справочной системы: Platform SDK, Windows Base Services, Files and I/O.
Два дополнительных способа ввода-вывода состоят в использовании потока или низкоуровневых функций ввода-вывода, предоставляемых библиотекой периода выполнения. Можно также использовать функции библиотеки iostream, которые описаны в таких разделах справочной системы: Visual С++ Documentation, Reference, С/С++ Language and С++ Libraries, Standard С++ Library Reference, Files and Streams. Функции ввода-вывода библиотеки iostream рассмотрены в разделах Visual С++ Documentation, Reference, C/C++ Language and С++ Libraries, iostream Library Reference.
Итоги_
Мы узнали, как добавить операции ввода-вывода в класс документа программы, а также изучили следующие общие принципы и методы.
• Библиотека MFC предоставляет обработчик сообщений для команд New, Open..., Save, Save As... и списка последних открытых файлов меню File. Для определения обработчиков этих команд мастер ClassWizard не используется, но написать код поддержки необходимо.
• MFC-обработчики команд Open... и Save As... для ввода имени файла и пути к нему отображают стандартные диалоговые окна Open... и Save As....
Предыдущая << 1 .. 117 118 119 120 121 122 < 123 > 124 125 126 127 128 129 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100