Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 130стр.doc
Скачиваний:
95
Добавлен:
15.06.2014
Размер:
2.49 Mб
Скачать

6)Контейнерные классы библиотеки mfc.

Контейнерные классы OLE используются в приложениях, использующих контейнеры. Оба класса COleLinkingDoc и COleDocument управляют коллекциями объектов класса COleClientItem, которые используются для представления OLE в документе, внедренного в него или связаного с ним.

COleDocument используется для реализации составного документа OLE;

может использоваться как базовый для поддержки с контей

COleLinkingDoc предоставляет инфраструктуру для организации

объектов

CRichEditDoc содержит список элементов OLE; используется совместно с

CRichEditView и CRichEditCntrltem

COIeClientltem класс элемента, который представляет сторону клиента при

связывании и внедрении элементов OLE; свои элементы со стороны клиентов следует образовывать из этого класса

CRichEditCntrltem представляет доступ к стороне клиента OLE, хранящегося в элементе управления RICH EDIT, когда используется совмест­но с CRichEditView и CRichEditDoc

7)Контекст устройства. Классификация контекстов устройств. Функции работы с контекстами устройств

Контекст устройства(device context, DC) - это структура, определяющая набор графических объектов и связанных с ними атрибутов и графических режимов, которые воздействуют на вывод.

Создание (получение) контекста устройств.

  • Общая функция для получения описателя контекста устройства - это функция CreateDC

hdc = CreateDC (pszDriver, pszDevice, pszOutput, pData);

[другие строки программы]

DeleteDC (hdc);

  • Получение описателя контекста устройства, относящегося к клиентской области окна

  1. при обработке сообщения WM_PAINT

hdc = BeginPaint (hwnd, &ps);

[другие строки программы]

EndPaint (hwnd, &ps);

2. при обработке других сообщений

hdc = GetDC (hwnd);

[другие строки программы]

ReleaseDC (hwnd, hdc);

  • Получение описателя контекста устройства, относящегося ко всему окну программы

hdc = GetWindowDC (hwnd);

[другие строки программы]

ReleaseDC (hwnd. hdc);

! Получение других описателей контекстов.

  • Получение описателя «информационного контекста»(information context), используя функцию CreateIC. Параметры такие же, как у функции CreateDC.

  • Получения описателя «контекста памяти» (memory device context) (при работе с битовыми образами).

hdcMem = CreateCompatibleDC (hdc);

[другие строки программы]

DeleteDC (hdcMem);

  • Получение описателя контекста метафайла, при создании метафайла.

hdcMeta = CreateMetaFile (pszFilename);

[другие строки программы]

hmf = CloseMetaFile (hdcMeta);

Получение информации из контекста устройства.

  • С помощью функции GetDeviceCaps:

iValue = GetDeviceCaps (hdc, iIndex); // iIndex - один из 28 идентификаторов, определенных в заголовочном файле

Получаемая информация об устройстве отображения:

  • Размеры области отображения (высота и ширина);

  • Распознавание организации памяти видеоадаптера и число цветов, которые он может отобразить ;

Функции для получения и изменения контекста устройства:

Атрибут кон­­текста устройства

Функции для изменения

Функции для получения

Режим отображения

SetMapMode

GetMapMode

Начало координат окна

SetViewportOrgEx OffsetViewportOrgEx

GetWindowOrgEx

Начало координат области вывода

SetViewportOrgEx OffsetViewportOrgEx

GetViewportOrgEx

Протяженность окна

SetWindowExtEx SetMapMode

GetWindowExtEx

Протяженность области вывода

SetViewportExtEx SetMapMode ScaleViewportExtEx

GetViewportExtEx

Перо

SelectObject

SelectObject

Кисть

SelectObject

SelectObject

Шрифт

SelectObject

SelectObject

Битовый образ

SelectObject

SelectObject

Текущая позиция пера

MoveToEx LineTo PolylineTo PolyBezierTo

GetCurrentPositionEx

Режим фона

SetBkMode

GetBkMode

Цвет фона

SetBkColor

GetTextColor

Цвет текста

SetTextColor

GetTextColor

Режим рисования

SetROP2

GetROP2

Режим растяжения

SetStretchBltMode

GetStretchBltMode

Режим закрашивания многоугольников

SetPolyFillMode

GetPolyFillMode

Межсимвольный интервал

SetTextCharacterExtra

GetTextCharacterExtra

Начало координат кисти

SetBrushOrgEx

GetBrushOrgEx

Область отсечения

SelectClipRgn IntersectClipRgn OffsetClipRgn ExcludeClipRgn SelectClipPath

GetClipBox

Сохранение контекста устройства.

Использование: для того, чтобы изменения атрибутов контекста устройства, сохранялись, при освобождении контекста устройства, и использовались в следующий раз при вызове GetDC или BeginPaint.