
CView клас забезпечує базові можливості для користувача подання класів. Подання додається до документа і є посередником між документом і користувач: подання Візуалізує зображення документа на екран або принтер і обробляє введення користувача як операції з документа.
Подання є дитина рамки вікна. Кілька подань можна спільно використовувати рамки вікна, як і у випадку спліттер вікна. Відносини між подання клас, рамка вікна клас і клас документа встановлюється на CDocTemplate об'єкт. Коли користувач відкриває нове вікно або розділення існуючого один рамках конструює нове подання і вкладає його до документа.
Подання може прикріплятися тільки одного документа, але документ може мати кілька подань, додається до нього відразу — наприклад, якщо документ відображається в спліттер вікно або одночасно в декількох вікнах дитини в декількох документа інтерфейс (MDI) програму. Ваша заявка може підтримувати різні типи подань для даного документа типу; Наприклад, текстовому редакторі може надати подання повного тексту документа і режим структури, яка відображає лише заголовки розділів. Ці різні типи подань можуть бути розміщені в окремий кадр windows або в окремих областях один кадр вікна при використанні спліттер вікно.
Подання може бути відповідальним за обробку кілька різних типів вводу, такі, як введення клавіатури, миші, вводу або вводу за допомогою перетягнути і падіння, а також команди з меню, панелей інструментів або смуги прокручування. Подання отримує команди, які пересилаються вікна її кадру. Якщо подання не займається даної команди, передається команда свого пов'язаних документів. Як і всі команди цілі подання обробляє повідомлення за допомогою карти повідомлення.
Подання несе відповідальність для відображення та змінення даних у документі, але не для його зберігання. Документ передбачає подання, необхідні подробиці про його дані. Ви можете дозволити подання access, члени даних документа безпосередньо, або ви може надати методи в класі документ для перегляду класу для виклику.
Коли даних у документ зміни, подання відповідальність за зміни зазвичай викликає функцію CDocument::UpdateAllViews для документа, яка повідомляє інші погляди на виклик функції-члена OnUpdate для кожного. За замовчуванням реалізація OnUpdate розриває кінцеві цілі клієнта. Ви можете змінити її недійсною лише тих регіонів клієнтської області, що карта змінений фрагменти документа, щоб.
Використання CView, винести класу з нього, і реалізувати OnDraw член функції для виконання дисплеєм. Також можна використовувати OnDraw , щоб виконати попередній перегляд друку та друку. Рамках ручками друку петлі для друку та перегляду документа.
Подання ручками смуги прокручування повідомлення з CWnd::OnHScroll і CWnd::OnVScroll функції члена. Можна реалізувати смуги прокручування повідомлення у цих функцій, або ви можете використовувати клас CView отриманих CScrollView для обробки прокручування для вас.
Крім того CScrollView, Microsoft фонду клас бібліотека надає дев'ять інших класів, отриманих від CView:
Клас CView також має похідні реалізації класу, названий CPreviewView, який використовується в рамках виконати попередній перегляд друку. Цей клас забезпечує підтримку функцій унікальний вікна попереднього перегляду, наприклад панель інструментів попереднього перегляду однієї або подвійні сторінки, і масштабування, що є збільшення зображення. Вам не потрібно зателефонувати або змінити будь-які методи CPreviewView, якщо ви не хочете, щоб реалізувати свій власний інтерфейс для друку preview (наприклад, якщо ви хочете підтримати редагування в режимі попереднього перегляду). Щоб отримати додаткові відомості про використання CView, перегляньте Перегляду документа/архітектура теми і друку в Visual C++ програміста керівництво. Крім того, перегляньте технічну Примітці 30 для більш докладної інформації про налаштування попереднього перегляду.
# включити lt;afxwin.h>
|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма
Зразкиnbsp; MFC зразок ЗДРАВСТВУЙТЕ | MFC зразок MDIBIND | MFC зразок MDIDOCVW
Дивіться також CWnd, CFrameWnd, CSplitterWnd, CDC, CDocTemplate, CDocument