Учебники

МФЦ — GDI

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);
   pDCPolyline(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
}

Когда вы запустите это приложение, вы увидите следующий вывод.