Windows предоставляет различные инструменты рисования для использования в контексте устройства. Он предоставляет ручки для рисования линий, кисти для заливки интерьеров и шрифты для рисования текста. MFC предоставляет классы графических объектов, эквивалентные инструментам рисования в Windows.
Рисование
Контекст устройства — это структура данных Windows, содержащая информацию об атрибутах рисования устройства, такого как дисплей или принтер. Все вызовы рисования выполняются через объект-контекст устройства, который инкапсулирует API-интерфейсы Windows для рисования линий, фигур и текста.
Контексты устройства позволяют независимое от устройства рисование в Windows. Контекст устройства можно использовать для рисования на экране, на принтере или в метафайле.
CDC — самый фундаментальный класс для рисования в MFC. Объект CDC предоставляет функции-члены для выполнения основных этапов рисования, а также элементы для работы с контекстом отображения, связанным с клиентской областью окна.
Старший | Имя и описание |
---|---|
1 |
AbortDoc Завершает текущее задание на печать, стирая все, что приложение записало на устройство с момента последнего вызова функции- члена StartDoc . |
2 |
AbortPath Закрывает и отбрасывает любые пути в контексте устройства. |
3 |
AddMetaFileComment Копирует комментарий из буфера в указанный метафайл расширенного формата. |
4 |
AlphaBlend Отображает растровые изображения с прозрачными или полупрозрачными пикселями. |
5 |
AngleArc Рисует отрезок линии и дугу и перемещает текущую позицию в конечную точку дуги. |
6 |
дуга Рисует эллиптическую дугу. |
7 |
аркто Рисует эллиптическую дугу. Эта функция похожа на Arc, за исключением того, что текущая позиция обновляется. |
8 |
Прикреплять Присоединяет контекст устройства Windows к этому объекту CDC. |
9 |
BeginPath Открывает скобку пути в контексте устройства. |
10 |
BitBlt Копирует растровое изображение из указанного контекста устройства. |
11 |
Аккорд Рисует аккорд (замкнутая фигура, ограниченная пересечением эллипса и отрезка). |
12 |
CloseFigure Закрывает открытую фигуру в дорожке. |
13 |
CreateCompatibleDC Создает контекст устройства памяти, который совместим с другим контекстом устройства. Вы можете использовать его для подготовки изображений в памяти. |
14 |
CreateDC Создает контекст устройства для определенного устройства. |
15 |
CREATEIC Создает информационный контекст для конкретного устройства. Это обеспечивает быстрый способ получения информации об устройстве без создания контекста устройства. |
16 |
DeleteDC Удаляет контекст устройства Windows, связанный с этим объектом CDC. |
17 |
DeleteTempMap Вызывается простым обработчиком CWinApp для удаления любого временного объекта CDC, созданного FromHandle. Также отключает контекст устройства. |
18 |
отрывать Отсоединяет контекст устройства Windows от этого объекта CDC. |
19 |
DPtoHIMETRIC Преобразует единицы измерения устройства в единицы HIMETRIC . |
20 |
DPtoLP Преобразует единицы устройства в логические единицы. |
21 |
Draw3dRect Рисует трехмерный прямоугольник. |
22 |
DrawDragRect Стирает и перерисовывает прямоугольник при его перетаскивании. |
23 |
DrawEdge Рисует края прямоугольника. |
24 |
DrawEscape Доступ к возможностям рисования видео дисплея, которые не доступны напрямую через интерфейс графического устройства (GDI). |
25 |
DrawFocusRect Рисует прямоугольник в стиле, используемом для обозначения фокуса. |
26 |
DrawFrameControl Нарисуйте рамку управления. |
27 |
DrawIcon Рисует иконку. |
28 |
DrawState Отображает изображение и применяет визуальный эффект, чтобы указать состояние. |
29 |
DrawText Рисует форматированный текст в указанном прямоугольнике. |
30 |
DrawTextEx Рисует форматированный текст в указанном прямоугольнике, используя дополнительные форматы. |
31 |
Эллипс Рисует эллипс |
32 |
EndDoc Завершает задание печати, запущенное функцией-членом StartDoc. |
33 |
EndPage Сообщает драйверу устройства, что страница заканчивается. |
34 |
EndPath Закрывает скобку пути и выбирает путь, определенный скобкой, в контекст устройства. |
35 |
EnumObjects Перечисляет ручки и кисти, доступные в контексте устройства. |
36 |
Побег Позволяет приложениям получать доступ к средствам, которые не доступны напрямую с определенного устройства через GDI. Также позволяет доступ к функциям побега Windows. Escape-вызовы, сделанные приложением, переводятся и отправляются драйверу устройства. |
37 |
ExcludeClipRect Создает новую область отсечения, которая состоит из существующей области отсечения минус указанный прямоугольник. |
38 |
ExcludeUpdateRgn Предотвращает рисование в недопустимых областях окна, исключая обновленную область в окне из области отсечения. |
39 |
ExtFloodFill Заполняет область текущей кистью. Обеспечивает большую гибкость, чем функция- член FloodFill . |
40 |
ExtTextOut Записывает строку символов в прямоугольной области, используя текущий выбранный шрифт. |
41 |
FillPath Закрывает все открытые фигуры в текущем пути и заполняет внутреннюю часть пути, используя текущую кисть и режим полигонального заполнения. |
42 |
FillRect Заполняет данный прямоугольник с помощью определенной кисти. |
43 |
FillRgn Заполняет определенный регион указанной кистью. |
44 |
FillSolidRect Заполняет прямоугольник сплошным цветом. |
45 |
FlattenPath Преобразует любые кривые на выбранном пути в текущий контекст устройства и превращает каждую кривую в последовательность линий. |
46 |
Заливка Заполняет область текущей кистью. |
47 |
FrameRect Рисует рамку вокруг прямоугольника. |
48 |
FrameRgn Рисует границу вокруг определенной области с помощью кисти. |
49 |
FromHandle Возвращает указатель на объект CDC, когда ему дается дескриптор контекста устройства. Если объект CDC не прикреплен к дескриптору, создается и присоединяется временный объект CDC. |
50 |
GetArcDirection Возвращает текущее направление дуги для контекста устройства. |
51 |
GetAspectRatioFilter Получает настройку для текущего фильтра соотношения сторон. |
52 |
GetBkColor Получает текущий цвет фона. |
53 |
GetBkMode Получает фоновый режим. |
54 |
GetBoundsRect Возвращает текущий накопленный ограничивающий прямоугольник для указанного контекста устройства. |
55 |
GetBrushOrg Получает источник текущей кисти. |
56 |
GetCharABCWidths Извлекает ширину в логических единицах последовательных символов в заданном диапазоне из текущего шрифта. |
57 |
GetCharABCWidthsI Извлекает ширину в логических единицах последовательных индексов глифов в указанном диапазоне из текущего шрифта TrueType. |
58 |
GetCharacterPlacement Получает различные типы информации о символьной строке. |
59 |
GetCharWidth Извлекает дробные ширины последовательных символов в заданном диапазоне из текущего шрифта. |
60 |
GetCharWidthI Извлекает ширину в логических координатах последовательных индексов глифов в указанном диапазоне из текущего шрифта. |
61 |
GetClipBox Извлекает размеры самого тесного ограничивающего прямоугольника вокруг текущей границы отсечения. |
62 |
GetColorAdjustment Получает значения регулировки цвета для контекста устройства. |
63 |
GetCurrentBitmap Возвращает указатель на текущий выбранный объект CBitmap . |
64 |
GetCurrentBrush Возвращает указатель на текущий выбранный объект CBrush . |
65 |
GetCurrentFont Возвращает указатель на текущий выбранный объект CFont . |
66 |
GetCurrentPalette Возвращает указатель на текущий выбранный объект CPalette . |
48 |
GetCurrentPen Возвращает указатель на текущий выбранный объект CPen . |
67 |
GetCurrentPosition Получает текущее положение пера (в логических координатах). |
68 |
GetDCBrushColor Получает текущий цвет кисти. |
69 |
GetDCPenColor Получает текущий цвет пера. |
70 |
GetDeviceCaps Извлекает определенный вид специфической для устройства информации о возможностях данного устройства отображения. |
71 |
GetFontData Извлекает информацию о метрике шрифта из файла масштабируемого шрифта. Информация для извлечения идентифицируется путем указания смещения в файле шрифта и длины возвращаемой информации. |
72 |
GetFontLanguageInfo Возвращает информацию о текущем выбранном шрифте для указанного контекста дисплея. |
73 |
GetGlyphOutline Извлекает контурную кривую или растровое изображение для символа контура в текущем шрифте. |
74 |
GetGraphicsMode Получает текущий графический режим для указанного контекста устройства. |
75 |
GetHalftoneBrush Получает полутоновую кисть. |
76 |
GetKerningPairs Извлекает пары символов кернинга для шрифта, выбранного в данный момент в указанном контексте устройства. |
77 |
GetLayout Получает макет контекста устройства (DC). Макет может быть слева направо (по умолчанию) или справа налево (зеркально отображено). |
78 |
GetMapMode Получает текущий режим отображения. |
79 |
GetMiterLimit Возвращает ограничение митры для контекста устройства. |
80 |
GetNearestColor Извлекает ближайший логический цвет к указанному логическому цвету, который может представлять данное устройство. |
81 |
GetOutlineTextMetrics Извлекает информацию о метрике шрифта для шрифтов TrueType. |
82 |
GetOutputCharWidth Извлекает ширину отдельных символов в последовательной группе символов из текущего шрифта, используя контекст устройства вывода. |
83 |
GetOutputTabbedTextExtent Вычисляет ширину и высоту строки символов в контексте устройства вывода. |
84 |
GetOutputTextExtent Вычисляет ширину и высоту строки текста в контексте устройства вывода, используя текущий шрифт для определения размеров. |
85 |
GetOutputTextMetrics Извлекает метрики для текущего шрифта из контекста устройства вывода. |
86 |
GetPath Извлекает координаты, определяющие конечные точки линий и контрольные точки кривых, найденных на пути, выбранном в контексте устройства. |
87 |
GetPixel Получает значение цвета RGB пикселя в указанной точке. |
88 |
GetPolyFillMode Получает текущий режим заполнения полигонов. |
89 |
GetROP2 Получает текущий режим рисования. |
90 |
GetSafeHdc Возвращает m_hDC , контекст устройства вывода. |
91 |
GetStretchBltMode Получает текущий режим растрового изображения. |
92 |
GetTabbedTextExtent Вычисляет ширину и высоту строки символов в контексте устройства атрибута. |
93 |
GetTextAlign Получает флаги выравнивания текста. |
94 |
GetTextCharacterExtra Извлекает текущую настройку для интервала между символами. |
95 |
GetTextColor Получает текущий цвет текста. |
96 |
GetTextExtent Вычисляет ширину и высоту строки текста в контексте устройства атрибута, используя текущий шрифт для определения размеров. |
97 |
GetTextExtentExPointI Извлекает количество символов в указанной строке, которые поместятся в указанном пространстве, и заполняет массив текстовым экстентом для каждого из этих символов. |
98 |
GetTextExtentPointI Получает ширину и высоту указанного массива индексов глифов. |
99 |
GetTextFace Копирует имя гарнитуры текущего шрифта в буфер в виде строки с нулевым символом в конце. |
100 |
GetTextMetrics Извлекает метрики для текущего шрифта из атрибута контекста устройства. |
101 |
GetViewportExt Извлекает x- и y-экстенты области просмотра. |
102 |
GetViewportOrg Получает x- и y-координаты источника области просмотра. |
103 |
GetWindow Возвращает окно, связанное с контекстом устройства отображения. |
104 |
GetWindowExt Извлекает x- и y-экстенты связанного окна. |
105 |
GetWindowOrg Получает x- и y-координаты источника связанного окна. |
106 |
GetWorldTransform Извлекает текущее преобразование пространства мира в пространство страниц. |
107 |
GradientFill Заполняет прямоугольные и треугольные структуры градуирующим цветом. |
108 |
GrayString Рисует затемненный (серый) текст в заданном месте. |
109 |
HIMETRICtoDP Преобразует единицы HIMETRIC в единицы устройства. |
110 |
HIMETRICtoLP Преобразует HIMETRIC единицы в логические единицы. |
111 |
IntersectClipRect Создает новую область отсечения, формируя пересечение текущей области и прямоугольника. |
112 |
InvertRect Инвертирует содержимое прямоугольника. |
113 |
InvertRgn Инвертирует цвета в регионе. |
114 |
IsPrinting Определяет, используется ли контекст устройства для печати. |
115 |
LineTo Рисует линию от текущей позиции до, но не включая точку. |
116 |
LPtoDP Преобразует логические единицы в единицы устройства. |
117 |
LPtoHIMETRIC Преобразует логические единицы в ХИМЕТРИЧЕСКИЕ единицы. |
118 |
MaskBlt Объединяет данные цвета для исходных и целевых растровых изображений с использованием заданной маски и растровой операции. |
119 |
ModifyWorldTransform Изменяет трансформацию мира для контекста устройства, используя указанный режим. |
120 |
MoveTo Перемещает текущую позицию. |
121 |
OffsetClipRgn Перемещает область отсечения данного устройства. |
122 |
OffsetViewportOrg Изменяет начало области просмотра относительно координат текущего источника просмотра. |
123 |
OffsetWindowOrg Изменяет начало окна относительно координат текущего источника окна. |
124 |
PaintRgn Заполняет область выбранной кистью. |
125 |
PatBlt Создает немного шаблон. |
126 |
пирог Рисует пирог в форме клина. |
127 |
PlayMetaFile Воспроизведение содержимого указанного метафайла на данном устройстве. Расширенная версия PlayMetaFile отображает изображение, хранящееся в данном метафайле расширенного формата. Метафайл может быть воспроизведен любое количество раз. |
128 |
PlgBlt Выполняет передачу битового блока битов цветовых данных из указанного прямоугольника в контексте исходного устройства в указанный параллелограмм в данном контексте устройства. |
129 |
PolyBezier Рисует один или несколько сплайнов Безье. Текущая позиция не используется и не обновляется. |
130 |
PolyBezierTo Рисует один или несколько сплайнов Bzier и перемещает текущую позицию в конечную точку последнего сплайна Bzier. |
131 |
PolyDraw Рисует набор отрезков линии и сплайнов Бзье. Эта функция обновляет текущую позицию. |
132 |
многоугольник Рисует многоугольник, состоящий из двух или более точек (вершин), соединенных линиями. |
133 |
Ломаная Рисует набор отрезков, соединяющих указанные точки. |
134 |
PolylineTo Рисует одну или несколько прямых линий и перемещает текущую позицию в конечную точку последней линии. |
135 |
PolyPolygon Создает два или более полигонов, которые заполнены, используя текущий режим заполнения полигонов. Полигоны могут быть непересекающимися или могут перекрываться. |
136 |
PolyPolyline Рисует несколько серий соединенных отрезков. Текущая позиция не используется и не обновляется этой функцией. |
137 |
PtVisible Указывает, находится ли данная точка в области отсечения. |
138 |
RealizePalette Сопоставляет записи палитры в текущей логической палитре с системной палитрой. |
139 |
Прямоугольник Рисует прямоугольник, используя текущее перо, и заполняет его, используя текущую кисть. |
140 |
RectVisible Определяет, находится ли какая-либо часть данного прямоугольника в области отсечения. |
141 |
ReleaseAttribDC Выпускает m_hAttribDC , атрибут устройства контекста. |
142 |
ReleaseOutputDC Выпускает m_hDC , контекст устройства вывода. |
143 |
ResetDC Обновляет контекст устройства m_hAttribDC. |
144 |
RestoreDC Восстанавливает контекст устройства в предыдущее состояние, сохраненное с помощью SaveDC . |
145 |
ROUNDRECT Рисует прямоугольник с закругленными углами, используя текущее перо, и заливает, используя текущую кисть. |
146 |
SaveDC Сохраняет текущее состояние контекста устройства. |
147 |
ScaleViewportExt Изменяет экстент области просмотра относительно текущих значений. |
148 |
ScaleWindowExt Изменяет экстенты окна относительно текущих значений. |
149 |
ScrollDC Прокручивает прямоугольник бит по горизонтали и вертикали. |
150 |
SelectClipPath Выбирает текущий путь в качестве области отсечения для контекста устройства, комбинируя новую область с любой существующей областью отсечения, используя указанный режим. |
151 |
SelectClipRgn Объединяет данную область с текущей областью отсечения, используя указанный режим. |
152 |
SelectObject Выбирает объект рисования GDI, например, перо. |
153 |
SelectPalette Выбирает логическую палитру. |
154 |
SelectStockObject Выбирает одну из предопределенных стандартных ручек, кистей или шрифтов, предоставляемых Windows. |
155 |
SetAbortProc Устанавливает функцию обратного вызова, предоставляемую программистом, которую Windows вызывает, если задание на печать должно быть прервано. |
156 |
SetArcDirection Устанавливает направление рисования, которое будет использоваться для функций дуги и прямоугольника. |
157 |
SetAttribDC Устанавливает m_hAttribDC, атрибут устройства контекста. |
158 |
SetBkColor Устанавливает текущий цвет фона. |
159 |
SetBkMode Устанавливает режим фона. |
160 |
SetBoundsRect Управляет накоплением информации о ограничительном прямоугольнике для указанного контекста устройства. |
161 |
SetBrushOrg Определяет источник для следующей кисти, выбранной в контексте устройства. |
162 |
SetColorAdjustment Устанавливает значения регулировки цвета для контекста устройства, используя указанные значения. |
163 |
SetDCBrushColor Устанавливает текущий цвет кисти. |
164 |
SetDCPenColor Устанавливает текущий цвет пера. |
165 |
SetGraphicsMode Устанавливает текущий графический режим для указанного контекста устройства. |
166 |
SetLayout Изменяет макет контекста устройства (DC). |
167 |
SetMapMode Устанавливает текущий режим отображения. |
168 |
SetMapperFlags Изменяет алгоритм, используемый сопоставителем шрифтов при сопоставлении логических шрифтов с физическими шрифтами. |
169 |
SetMiterLimit Устанавливает ограничение длины соединений митры для контекста устройства. |
170 |
SetOutputDC Устанавливает m_hDC, контекст устройства вывода. |
171 |
SetPixel Устанавливает пиксель в указанной точке в ближайшее приближение указанного цвета. |
172 |
SetPixelV Устанавливает пиксель в указанных координатах в ближайшее приближение указанного цвета. SetPixelV работает быстрее, чем SetPixel, поскольку ему не нужно возвращать значение цвета фактически нарисованной точки. |
173 |
SetPolyFillMode Устанавливает режим заполнения полигонов. |
175 |
SetROP2 Устанавливает текущий режим рисования. |
176 |
SetStretchBltMode Устанавливает режим растрового изображения. |
177 |
SetTextAlign Устанавливает флаги выравнивания текста. |
178 |
SetTextCharacterExtra Устанавливает количество межсимвольных интервалов. |
179 |
SetTextColor Устанавливает цвет текста. |
180 |
SetTextJustification Добавляет пробел к символам разрыва в строке. |
181 |
SetViewportExt Устанавливает x- и y-экстенты области просмотра. |
182 |
SetViewportOrg Устанавливает происхождение области просмотра. |
183 |
SetWindowExt Устанавливает x- и y-экстенты ассоциированного окна. |
184 |
SetWindowOrg Устанавливает происхождение окна контекста устройства. |
185 |
SetWorldTransform Устанавливает текущее мировое пространство в преобразование пространства страницы. |
186 |
StartDoc Сообщает драйверу устройства, что начинается новое задание на печать. |
187 |
Стартовая страница Информирует драйвер устройства о запуске новой страницы. |
188 |
StretchBlt Перемещает растровое изображение из исходного прямоугольника и устройства в целевой прямоугольник, растягивая или сжимая растровое изображение, если необходимо, чтобы соответствовать размерам целевого прямоугольника. |
189 |
StrokeAndFillPath Закрывает все открытые фигуры в контуре, обводит контур контура с помощью текущего пера и заполняет его внутреннее пространство с помощью текущей кисти. |
190 |
Путь инсульта Визуализирует указанный путь с использованием текущего пера. |
191 |
TabbedTextOut Записывает строку символов в указанном месте, расширяя вкладки до значений, указанных в массиве позиций табуляции. |
192 |
TextOut Записывает строку символов в указанном месте, используя текущий выбранный шрифт. |
193 |
TransparentBlt Переносит битовый блок цветовых данных из указанного контекста исходного устройства в контекст целевого устройства, делая указанный цвет прозрачным при передаче. |
194 |
UpdateColors Обновляет клиентскую область контекста устройства, сопоставляя текущие цвета в клиентской области с системной палитрой на попиксельной основе. |
195 |
WidenPath Переопределяет текущий путь как область, которая будет рисоваться, если путь был обведен пером, выбранным в данный момент в контексте устройства. |
AbortDoc
Завершает текущее задание на печать, стирая все, что приложение записало на устройство с момента последнего вызова функции- члена StartDoc .
AbortPath
Закрывает и отбрасывает любые пути в контексте устройства.
AddMetaFileComment
Копирует комментарий из буфера в указанный метафайл расширенного формата.
AlphaBlend
Отображает растровые изображения с прозрачными или полупрозрачными пикселями.
AngleArc
Рисует отрезок линии и дугу и перемещает текущую позицию в конечную точку дуги.
дуга
Рисует эллиптическую дугу.
аркто
Рисует эллиптическую дугу. Эта функция похожа на Arc, за исключением того, что текущая позиция обновляется.
Прикреплять
Присоединяет контекст устройства Windows к этому объекту CDC.
BeginPath
Открывает скобку пути в контексте устройства.
BitBlt
Копирует растровое изображение из указанного контекста устройства.
Аккорд
Рисует аккорд (замкнутая фигура, ограниченная пересечением эллипса и отрезка).
CloseFigure
Закрывает открытую фигуру в дорожке.
CreateCompatibleDC
Создает контекст устройства памяти, который совместим с другим контекстом устройства. Вы можете использовать его для подготовки изображений в памяти.
CreateDC
Создает контекст устройства для определенного устройства.
CREATEIC
Создает информационный контекст для конкретного устройства. Это обеспечивает быстрый способ получения информации об устройстве без создания контекста устройства.
DeleteDC
Удаляет контекст устройства Windows, связанный с этим объектом CDC.
DeleteTempMap
Вызывается простым обработчиком CWinApp для удаления любого временного объекта CDC, созданного FromHandle. Также отключает контекст устройства.
отрывать
Отсоединяет контекст устройства Windows от этого объекта CDC.
DPtoHIMETRIC
Преобразует единицы измерения устройства в единицы HIMETRIC .
DPtoLP
Преобразует единицы устройства в логические единицы.
Draw3dRect
Рисует трехмерный прямоугольник.
DrawDragRect
Стирает и перерисовывает прямоугольник при его перетаскивании.
DrawEdge
Рисует края прямоугольника.
DrawEscape
Доступ к возможностям рисования видео дисплея, которые не доступны напрямую через интерфейс графического устройства (GDI).
DrawFocusRect
Рисует прямоугольник в стиле, используемом для обозначения фокуса.
DrawFrameControl
Нарисуйте рамку управления.
DrawIcon
Рисует иконку.
DrawState
Отображает изображение и применяет визуальный эффект, чтобы указать состояние.
DrawText
Рисует форматированный текст в указанном прямоугольнике.
DrawTextEx
Рисует форматированный текст в указанном прямоугольнике, используя дополнительные форматы.
Эллипс
Рисует эллипс
EndDoc
Завершает задание печати, запущенное функцией-членом StartDoc.
EndPage
Сообщает драйверу устройства, что страница заканчивается.
EndPath
Закрывает скобку пути и выбирает путь, определенный скобкой, в контекст устройства.
EnumObjects
Перечисляет ручки и кисти, доступные в контексте устройства.
Побег
Позволяет приложениям получать доступ к средствам, которые не доступны напрямую с определенного устройства через GDI. Также позволяет доступ к функциям побега Windows. Escape-вызовы, сделанные приложением, переводятся и отправляются драйверу устройства.
ExcludeClipRect
Создает новую область отсечения, которая состоит из существующей области отсечения минус указанный прямоугольник.
ExcludeUpdateRgn
Предотвращает рисование в недопустимых областях окна, исключая обновленную область в окне из области отсечения.
ExtFloodFill
Заполняет область текущей кистью. Обеспечивает большую гибкость, чем функция- член FloodFill .
ExtTextOut
Записывает строку символов в прямоугольной области, используя текущий выбранный шрифт.
FillPath
Закрывает все открытые фигуры в текущем пути и заполняет внутреннюю часть пути, используя текущую кисть и режим полигонального заполнения.
FillRect
Заполняет данный прямоугольник с помощью определенной кисти.
FillRgn
Заполняет определенный регион указанной кистью.
FillSolidRect
Заполняет прямоугольник сплошным цветом.
FlattenPath
Преобразует любые кривые на выбранном пути в текущий контекст устройства и превращает каждую кривую в последовательность линий.
Заливка
Заполняет область текущей кистью.
FrameRect
Рисует рамку вокруг прямоугольника.
FrameRgn
Рисует границу вокруг определенной области с помощью кисти.
FromHandle
Возвращает указатель на объект CDC, когда ему дается дескриптор контекста устройства. Если объект CDC не прикреплен к дескриптору, создается и присоединяется временный объект CDC.
GetArcDirection
Возвращает текущее направление дуги для контекста устройства.
GetAspectRatioFilter
Получает настройку для текущего фильтра соотношения сторон.
GetBkColor
Получает текущий цвет фона.
GetBkMode
Получает фоновый режим.
GetBoundsRect
Возвращает текущий накопленный ограничивающий прямоугольник для указанного контекста устройства.
GetBrushOrg
Получает источник текущей кисти.
GetCharABCWidths
Извлекает ширину в логических единицах последовательных символов в заданном диапазоне из текущего шрифта.
GetCharABCWidthsI
Извлекает ширину в логических единицах последовательных индексов глифов в указанном диапазоне из текущего шрифта TrueType.
GetCharacterPlacement
Получает различные типы информации о символьной строке.
GetCharWidth
Извлекает дробные ширины последовательных символов в заданном диапазоне из текущего шрифта.
GetCharWidthI
Извлекает ширину в логических координатах последовательных индексов глифов в указанном диапазоне из текущего шрифта.
GetClipBox
Извлекает размеры самого тесного ограничивающего прямоугольника вокруг текущей границы отсечения.
GetColorAdjustment
Получает значения регулировки цвета для контекста устройства.
GetCurrentBitmap
Возвращает указатель на текущий выбранный объект CBitmap .
GetCurrentBrush
Возвращает указатель на текущий выбранный объект CBrush .
GetCurrentFont
Возвращает указатель на текущий выбранный объект CFont .
GetCurrentPalette
Возвращает указатель на текущий выбранный объект CPalette .
GetCurrentPen
Возвращает указатель на текущий выбранный объект CPen .
GetCurrentPosition
Получает текущее положение пера (в логических координатах).
GetDCBrushColor
Получает текущий цвет кисти.
GetDCPenColor
Получает текущий цвет пера.
GetDeviceCaps
Извлекает определенный вид специфической для устройства информации о возможностях данного устройства отображения.
GetFontData
Извлекает информацию о метрике шрифта из файла масштабируемого шрифта. Информация для извлечения идентифицируется путем указания смещения в файле шрифта и длины возвращаемой информации.
GetFontLanguageInfo
Возвращает информацию о текущем выбранном шрифте для указанного контекста дисплея.
GetGlyphOutline
Извлекает контурную кривую или растровое изображение для символа контура в текущем шрифте.
GetGraphicsMode
Получает текущий графический режим для указанного контекста устройства.
GetHalftoneBrush
Получает полутоновую кисть.
GetKerningPairs
Извлекает пары символов кернинга для шрифта, выбранного в данный момент в указанном контексте устройства.
GetLayout
Получает макет контекста устройства (DC). Макет может быть слева направо (по умолчанию) или справа налево (зеркально отображено).
GetMapMode
Получает текущий режим отображения.
GetMiterLimit
Возвращает ограничение митры для контекста устройства.
GetNearestColor
Извлекает ближайший логический цвет к указанному логическому цвету, который может представлять данное устройство.
GetOutlineTextMetrics
Извлекает информацию о метрике шрифта для шрифтов TrueType.
GetOutputCharWidth
Извлекает ширину отдельных символов в последовательной группе символов из текущего шрифта, используя контекст устройства вывода.
GetOutputTabbedTextExtent
Вычисляет ширину и высоту строки символов в контексте устройства вывода.
GetOutputTextExtent
Вычисляет ширину и высоту строки текста в контексте устройства вывода, используя текущий шрифт для определения размеров.
GetOutputTextMetrics
Извлекает метрики для текущего шрифта из контекста устройства вывода.
GetPath
Извлекает координаты, определяющие конечные точки линий и контрольные точки кривых, найденных на пути, выбранном в контексте устройства.
GetPixel
Получает значение цвета RGB пикселя в указанной точке.
GetPolyFillMode
Получает текущий режим заполнения полигонов.
GetROP2
Получает текущий режим рисования.
GetSafeHdc
Возвращает m_hDC , контекст устройства вывода.
GetStretchBltMode
Получает текущий режим растрового изображения.
GetTabbedTextExtent
Вычисляет ширину и высоту строки символов в контексте устройства атрибута.
GetTextAlign
Получает флаги выравнивания текста.
GetTextCharacterExtra
Извлекает текущую настройку для интервала между символами.
GetTextColor
Получает текущий цвет текста.
GetTextExtent
Вычисляет ширину и высоту строки текста в контексте устройства атрибута, используя текущий шрифт для определения размеров.
GetTextExtentExPointI
Извлекает количество символов в указанной строке, которые поместятся в указанном пространстве, и заполняет массив текстовым экстентом для каждого из этих символов.
GetTextExtentPointI
Получает ширину и высоту указанного массива индексов глифов.
GetTextFace
Копирует имя гарнитуры текущего шрифта в буфер в виде строки с нулевым символом в конце.
GetTextMetrics
Извлекает метрики для текущего шрифта из атрибута контекста устройства.
GetViewportExt
Извлекает x- и y-экстенты области просмотра.
GetViewportOrg
Получает x- и y-координаты источника области просмотра.
GetWindow
Возвращает окно, связанное с контекстом устройства отображения.
GetWindowExt
Извлекает x- и y-экстенты связанного окна.
GetWindowOrg
Получает x- и y-координаты источника связанного окна.
GetWorldTransform
Извлекает текущее преобразование пространства мира в пространство страниц.
GradientFill
Заполняет прямоугольные и треугольные структуры градуирующим цветом.
GrayString
Рисует затемненный (серый) текст в заданном месте.
HIMETRICtoDP
Преобразует единицы HIMETRIC в единицы устройства.
HIMETRICtoLP
Преобразует HIMETRIC единицы в логические единицы.
IntersectClipRect
Создает новую область отсечения, формируя пересечение текущей области и прямоугольника.
InvertRect
Инвертирует содержимое прямоугольника.
InvertRgn
Инвертирует цвета в регионе.
IsPrinting
Определяет, используется ли контекст устройства для печати.
LineTo
Рисует линию от текущей позиции до, но не включая точку.
LPtoDP
Преобразует логические единицы в единицы устройства.
LPtoHIMETRIC
Преобразует логические единицы в ХИМЕТРИЧЕСКИЕ единицы.
MaskBlt
Объединяет данные цвета для исходных и целевых растровых изображений с использованием заданной маски и растровой операции.
ModifyWorldTransform
Изменяет трансформацию мира для контекста устройства, используя указанный режим.
MoveTo
Перемещает текущую позицию.
OffsetClipRgn
Перемещает область отсечения данного устройства.
OffsetViewportOrg
Изменяет начало области просмотра относительно координат текущего источника просмотра.
OffsetWindowOrg
Изменяет начало окна относительно координат текущего источника окна.
PaintRgn
Заполняет область выбранной кистью.
PatBlt
Создает немного шаблон.
пирог
Рисует пирог в форме клина.
PlayMetaFile
Воспроизведение содержимого указанного метафайла на данном устройстве. Расширенная версия PlayMetaFile отображает изображение, хранящееся в данном метафайле расширенного формата. Метафайл может быть воспроизведен любое количество раз.
PlgBlt
Выполняет передачу битового блока битов цветовых данных из указанного прямоугольника в контексте исходного устройства в указанный параллелограмм в данном контексте устройства.
PolyBezier
Рисует один или несколько сплайнов Безье. Текущая позиция не используется и не обновляется.
PolyBezierTo
Рисует один или несколько сплайнов Bzier и перемещает текущую позицию в конечную точку последнего сплайна Bzier.
PolyDraw
Рисует набор отрезков линии и сплайнов Бзье. Эта функция обновляет текущую позицию.
многоугольник
Рисует многоугольник, состоящий из двух или более точек (вершин), соединенных линиями.
Ломаная
Рисует набор отрезков, соединяющих указанные точки.
PolylineTo
Рисует одну или несколько прямых линий и перемещает текущую позицию в конечную точку последней линии.
PolyPolygon
Создает два или более полигонов, которые заполнены, используя текущий режим заполнения полигонов. Полигоны могут быть непересекающимися или могут перекрываться.
PolyPolyline
Рисует несколько серий соединенных отрезков. Текущая позиция не используется и не обновляется этой функцией.
PtVisible
Указывает, находится ли данная точка в области отсечения.
RealizePalette
Сопоставляет записи палитры в текущей логической палитре с системной палитрой.
Прямоугольник
Рисует прямоугольник, используя текущее перо, и заполняет его, используя текущую кисть.
RectVisible
Определяет, находится ли какая-либо часть данного прямоугольника в области отсечения.
ReleaseAttribDC
Выпускает m_hAttribDC , атрибут устройства контекста.
ReleaseOutputDC
Выпускает m_hDC , контекст устройства вывода.
ResetDC
Обновляет контекст устройства m_hAttribDC.
RestoreDC
Восстанавливает контекст устройства в предыдущее состояние, сохраненное с помощью SaveDC .
ROUNDRECT
Рисует прямоугольник с закругленными углами, используя текущее перо, и заливает, используя текущую кисть.
SaveDC
Сохраняет текущее состояние контекста устройства.
ScaleViewportExt
Изменяет экстент области просмотра относительно текущих значений.
ScaleWindowExt
Изменяет экстенты окна относительно текущих значений.
ScrollDC
Прокручивает прямоугольник бит по горизонтали и вертикали.
SelectClipPath
Выбирает текущий путь в качестве области отсечения для контекста устройства, комбинируя новую область с любой существующей областью отсечения, используя указанный режим.
SelectClipRgn
Объединяет данную область с текущей областью отсечения, используя указанный режим.
SelectObject
Выбирает объект рисования GDI, например, перо.
SelectPalette
Выбирает логическую палитру.
SelectStockObject
Выбирает одну из предопределенных стандартных ручек, кистей или шрифтов, предоставляемых Windows.
SetAbortProc
Устанавливает функцию обратного вызова, предоставляемую программистом, которую Windows вызывает, если задание на печать должно быть прервано.
SetArcDirection
Устанавливает направление рисования, которое будет использоваться для функций дуги и прямоугольника.
SetAttribDC
Устанавливает m_hAttribDC, атрибут устройства контекста.
SetBkColor
Устанавливает текущий цвет фона.
SetBkMode
Устанавливает режим фона.
SetBoundsRect
Управляет накоплением информации о ограничительном прямоугольнике для указанного контекста устройства.
SetBrushOrg
Определяет источник для следующей кисти, выбранной в контексте устройства.
SetColorAdjustment
Устанавливает значения регулировки цвета для контекста устройства, используя указанные значения.
SetDCBrushColor
Устанавливает текущий цвет кисти.
SetDCPenColor
Устанавливает текущий цвет пера.
SetGraphicsMode
Устанавливает текущий графический режим для указанного контекста устройства.
SetLayout
Изменяет макет контекста устройства (DC).
SetMapMode
Устанавливает текущий режим отображения.
SetMapperFlags
Изменяет алгоритм, используемый сопоставителем шрифтов при сопоставлении логических шрифтов с физическими шрифтами.
SetMiterLimit
Устанавливает ограничение длины соединений митры для контекста устройства.
SetOutputDC
Устанавливает m_hDC, контекст устройства вывода.
SetPixel
Устанавливает пиксель в указанной точке в ближайшее приближение указанного цвета.
SetPixelV
Устанавливает пиксель в указанных координатах в ближайшее приближение указанного цвета. SetPixelV работает быстрее, чем SetPixel, поскольку ему не нужно возвращать значение цвета фактически нарисованной точки.
SetPolyFillMode
Устанавливает режим заполнения полигонов.
SetROP2
Устанавливает текущий режим рисования.
SetStretchBltMode
Устанавливает режим растрового изображения.
SetTextAlign
Устанавливает флаги выравнивания текста.
SetTextCharacterExtra
Устанавливает количество межсимвольных интервалов.
SetTextColor
Устанавливает цвет текста.
SetTextJustification
Добавляет пробел к символам разрыва в строке.
SetViewportExt
Устанавливает x- и y-экстенты области просмотра.
SetViewportOrg
Устанавливает происхождение области просмотра.
SetWindowExt
Устанавливает x- и y-экстенты ассоциированного окна.
SetWindowOrg
Устанавливает происхождение окна контекста устройства.
SetWorldTransform
Устанавливает текущее мировое пространство в преобразование пространства страницы.
StartDoc
Сообщает драйверу устройства, что начинается новое задание на печать.
Стартовая страница
Информирует драйвер устройства о запуске новой страницы.
StretchBlt
Перемещает растровое изображение из исходного прямоугольника и устройства в целевой прямоугольник, растягивая или сжимая растровое изображение, если необходимо, чтобы соответствовать размерам целевого прямоугольника.
StrokeAndFillPath
Закрывает все открытые фигуры в контуре, обводит контур контура с помощью текущего пера и заполняет его внутреннее пространство с помощью текущей кисти.
Путь инсульта
Визуализирует указанный путь с использованием текущего пера.
TabbedTextOut
Записывает строку символов в указанном месте, расширяя вкладки до значений, указанных в массиве позиций табуляции.
TextOut
Записывает строку символов в указанном месте, используя текущий выбранный шрифт.
TransparentBlt
Переносит битовый блок цветовых данных из указанного контекста исходного устройства в контекст целевого устройства, делая указанный цвет прозрачным при передаче.
UpdateColors
Обновляет клиентскую область контекста устройства, сопоставляя текущие цвета в клиентской области с системной палитрой на попиксельной основе.
WidenPath
Переопределяет текущий путь как область, которая будет рисоваться, если путь был обведен пером, выбранным в данный момент в контексте устройства.
линии
Шаг 1 — Давайте рассмотрим простой пример, создав новый проект с одним документом на основе MFC с именем MFCGDIDemo .
Шаг 2. После создания проекта откройте обозреватель решений и дважды щелкните файл MFCGDIDemoView.cpp в папке «Исходные файлы».
Шаг 3 — Нарисуйте линию, как показано ниже в методе CMFCGDIDemoView :: OnDraw () .
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->MoveTo(95, 125); pDC->LineTo(230, 125); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 4 — Запустите это приложение. Вы увидите следующий вывод.
Шаг 5 — Метод CDC :: MoveTo () используется для установки начальной позиции строки.
При использовании LineTo () программа запускается от точки MoveTo () до конца LineTo ().
После LineTo (), когда вы не вызываете MoveTo () и снова вызываете LineTo () с другим значением точки, программа нарисует линию от предыдущего LineTo () до новой точки LineTo ().
Шаг 6 — Чтобы нарисовать разные линии, вы можете использовать это свойство, как показано в следующем коде.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->MoveTo(95, 125); pDC->LineTo(230, 125); pDC->LineTo(230, 225); pDC->LineTo(95, 325); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 7 — Запустите это приложение. Вы увидите следующий вывод.
Ломаные
Полилиния — это серия связанных линий. Строки хранятся в массиве значений POINT или CPoint. Чтобы нарисовать полилинию, вы используете метод CDC :: Polyline (). Чтобы нарисовать ломаную линию, требуется как минимум две точки. Если вы определите более двух точек, каждая линия после первой будет проведена от предыдущей точки до следующей, пока все точки не будут включены.
Шаг 1 — Давайте рассмотрим простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { CPoint Pt[7]; Pt[0] = CPoint(20, 150); Pt[1] = CPoint(180, 150); Pt[2] = CPoint(180, 20); pDC−Polyline(Pt, 3); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 2 — Когда вы запустите это приложение, вы увидите следующий вывод.
Прямоугольники
Прямоугольник — это геометрическая фигура, состоящая из четырех сторон, которые составляют четыре прямых угла. Подобно линии, чтобы нарисовать прямоугольник, вы должны определить, где он начинается и где он заканчивается. Чтобы нарисовать прямоугольник, вы можете использовать метод CDC :: Rectangle ().
Шаг 1 — Давайте рассмотрим простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->Rectangle(15, 15, 250, 160); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 2 — Когда вы запустите это приложение, вы увидите следующий вывод.
Квадраты
Квадрат — это геометрическая фигура, состоящая из четырех сторон, составляющих четыре прямых угла, но каждая сторона должна быть одинаковой длины.
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->Rectangle(15, 15, 250, 250); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите это приложение, вы увидите следующий вывод.
Пироги
Пирог — это часть эллипса, ограниченная двумя линиями, которые проходят от центра эллипса к одной стороне каждой. Чтобы нарисовать круговую диаграмму, вы можете использовать метод CDC :: Pie (), как показано ниже —
BOOL Pie (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);
-
Точка (x1, y1) определяет левый верхний угол прямоугольника, в который помещается эллипс, представляющий круговую диаграмму. Точка (x2, y2) — это правый нижний угол прямоугольника.
Точка (x1, y1) определяет левый верхний угол прямоугольника, в который помещается эллипс, представляющий круговую диаграмму. Точка (x2, y2) — это правый нижний угол прямоугольника.
-
Точка (x3, y3) указывает начальный угол круговой диаграммы в направлении по умолчанию против часовой стрелки.
-
Точка (x4, y4) определяет конечную точку пирога.
Точка (x3, y3) указывает начальный угол круговой диаграммы в направлении по умолчанию против часовой стрелки.
Точка (x4, y4) определяет конечную точку пирога.
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->Pie(40, 20, 226, 144, 155, 32, 202, 115); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 2 — Когда вы запустите это приложение, вы увидите следующий вывод.
Дуги
Дуга — это часть или сегмент эллипса, что означает, что дуга является неполным эллипсом. Чтобы нарисовать дугу, вы можете использовать метод CDC :: Arc ().
BOOL Arc (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);
Класс CDC оснащен методом SetArcDirection ().
Вот синтаксис —
int SetArcDirection(int nArcDirection)
Sr.No. | Ценность и ориентация |
---|---|
1 |
AD_CLOCKWISE Фигура нарисована по часовой стрелке |
2 |
AD_COUNTERCLOCKWISE Фигура нарисована против часовой стрелки |
AD_CLOCKWISE
Фигура нарисована по часовой стрелке
AD_COUNTERCLOCKWISE
Фигура нарисована против часовой стрелки
Шаг 1 — Давайте рассмотрим простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->SetArcDirection(AD_COUNTERCLOCKWISE); pDC->Arc(20, 20, 226, 144, 202, 115, 105, 32); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Шаг 2 — Когда вы запустите это приложение, вы увидите следующий вывод.
Аккорды
Дуги, которые мы нарисовали до сих пор, считаются открытыми фигурами, потому что они состоят из линии, у которой есть начало и конец (в отличие от круга или прямоугольника, у которых его нет). Аккорд — это дуга, два конца которой соединены прямой линией.
Чтобы нарисовать аккорд, вы можете использовать метод CDC :: Chord ().
BOOL Chord (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { pDC->SetArcDirection(AD_CLOCKWISE); pDC->Chord(20, 20, 226, 144, 202, 115, 105, 32); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите указанное выше приложение, вы увидите следующий вывод.
Направление дуги в этом примере задается по часовой стрелке.
Цвета
Цвет — один из самых фундаментальных объектов, который улучшает эстетический вид объекта. Цвет — это непространственный объект, который добавляется к объекту для изменения некоторых его визуальных аспектов. Библиотека MFC в сочетании с Win32 API предоставляет различные действия, которые вы можете использовать, чтобы воспользоваться различными аспектами цветов.
Макрос RGB ведет себя как функция и позволяет передавать три числовых значения через запятую. Каждое значение должно быть от 0 до 255, как показано в следующем коде.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { COLORREF color = RGB(239, 15, 225); }
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { COLORREF color = RGB(239, 15, 225); pDC->SetTextColor(color); pDC->TextOut(100, 80, L"MFC GDI Tutorial", 16); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите это приложение, вы увидите следующий вывод.
шрифты
CFont инкапсулирует шрифт интерфейса графического устройства Windows (GDI) и предоставляет функции-члены для управления шрифтом. Чтобы использовать объект CFont, создайте объект CFont и присоедините к нему шрифт Windows, а затем используйте функции-члены объекта для управления шрифтом.
CreateFont
Инициализирует CFont с указанными характеристиками.
CreateFontIndirect
Инициализирует объект CFont с характеристиками, заданными в структуре LOGFONT .
CreatePointFont
Инициализирует CFont с указанной высотой, измеряемой в десятых долях точки, и гарнитурой.
CreatePointFontIndirect
То же, что CreateFontIndirect, за исключением того, что высота шрифта измеряется в десятых долях точки, а не в логических единицах.
FromHandle
Возвращает указатель на объект CFont при получении Windows HFONT .
GetLogFont
Заполняет LOGFONT информацией о логическом шрифте, прикрепленном к объекту CFont.
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { CFont font; font.CreatePointFont(920, L"Garamond"); CFont *pFont = pDC->SelectObject(&font); COLORREF color = RGB(239, 15, 225); pDC->SetTextColor(color); pDC->TextOut(100, 80, L"MFC GDI Tutorial", 16); pDC->SelectObject(pFont); font.DeleteObject(); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите указанное выше приложение, вы увидите следующий вывод.
Ручки
Ручка — это инструмент, используемый для рисования линий и кривых в контексте устройства. В графическом программировании перо также используется для рисования границ геометрической замкнутой формы, такой как прямоугольник или многоугольник. Microsoft Windows рассматривает два типа ручек — косметические и геометрические .
Ручка называется косметической, когда она может использоваться для рисования только простых линий фиксированной ширины, меньшей или равной 1 пикселю. Ручка является геометрической, когда она может иметь разную ширину и разные концы. MFC предоставляет класс CPen, который инкапсулирует перо интерфейса графического устройства Windows (GDI).
CreatePen
Создает логическое косметическое или геометрическое перо с указанными атрибутами стиля, ширины и кисти и присоединяет его к объекту CPen.
CreatePenIndirect
Создает перо со стилем, шириной и цветом, заданным в структуре LOGPEN, и прикрепляет его к объекту CPen.
FromHandle
Возвращает указатель на объект CPen при наличии Windows HPEN .
GetExtLogPen
Получает EXTLOGPEN базовую структуру.
GetLogPen
Получает базовую структуру LOGPEN .
PS_SOLID
Сплошная сплошная линия.
PS_DASH
Сплошная линия с пунктирными прерываниями.
PS_DOT
Линия с точечным прерыванием на каждом втором пикселе.
PS_DASHDOT
Комбинация чередующихся пунктирных и пунктирных точек.
PS_DASHDOTDOT
Комбинация прерываний из тире и двойных точек.
PS_NULL
Нет видимой линии.
PS_INSIDEFRAME
Линия, проведенная прямо внутри границы замкнутой формы.
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { CPen pen; pen.CreatePen(PS_DASHDOTDOT, 1, RGB(160, 75, 90)); pDC->SelectObject(&pen); pDC->Rectangle(25, 35, 250, 125); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите указанное выше приложение, вы увидите следующий вывод.
Кисти
Кисть — это инструмент для рисования, используемый для заполнения замкнутых фигур или внутренних линий. Кисть ведет себя как собирание ведра краски и заливка его куда-то. MFC предоставляет класс CBrush, который инкапсулирует кисть интерфейса графического устройства Windows (GDI).
CreateBrushIndirect
Инициализирует кисть со стилем, цветом и рисунком, указанными в структуре LOGBRUSH.
CreateDIBPatternBrush
Инициализирует кисть с шаблоном, заданным независимым от устройства растровым изображением (DIB).
CreateHatchBrush
Инициализирует кисть с указанным штрихованным рисунком и цветом.
CreatePatternBrush
Инициализирует кисть с шаблоном, заданным растровым изображением.
CreateSolidBrush
Инициализирует кисть с указанным сплошным цветом.
CreateSysColorBrush
Создает кисть, которая является системным цветом по умолчанию.
FromHandle
Возвращает указатель на объект CBrush, когда передается дескриптор объекта Windows HBRUSH.
GetLogBrush
Получает структуру LOGBRUSH.
Давайте посмотрим на простой пример.
void CMFCGDIDemoView::OnDraw(CDC* pDC) { CBrush brush(RGB(100, 150, 200)); CBrush *pBrush = pDC->SelectObject(&brush); pDC->Rectangle(25, 35, 250, 125); pDC->SelectObject(pBrush); CMFCGDIDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: add draw code for native data here }
Когда вы запустите это приложение, вы увидите следующий вывод.