IVsPackageDefinedTextMarkerType.DrawGlyphWithColors - метод
Рисует глиф в заданном контексте отображения и ограничивающий прямоугольник, используя предоставленные цвета.
Пространство имен: Microsoft.VisualStudio.TextManager.Interop
Сборка: Microsoft.VisualStudio.TextManager.Interop (в Microsoft.VisualStudio.TextManager.Interop.dll)
Синтаксис
'Декларация
Function DrawGlyphWithColors ( _
hdc As IntPtr, _
pRect As RECT(), _
iMarkerType As Integer, _
pMarkerColors As IVsTextMarkerColorSet, _
dwGlyphDrawFlags As UInteger, _
iLineHeight As Integer _
) As Integer
int DrawGlyphWithColors(
IntPtr hdc,
RECT[] pRect,
int iMarkerType,
IVsTextMarkerColorSet pMarkerColors,
uint dwGlyphDrawFlags,
int iLineHeight
)
int DrawGlyphWithColors(
[InAttribute] IntPtr hdc,
[InAttribute] array<RECT>^ pRect,
[InAttribute] int iMarkerType,
[InAttribute] IVsTextMarkerColorSet^ pMarkerColors,
[InAttribute] unsigned int dwGlyphDrawFlags,
[InAttribute] int iLineHeight
)
abstract DrawGlyphWithColors :
hdc:IntPtr *
pRect:RECT[] *
iMarkerType:int *
pMarkerColors:IVsTextMarkerColorSet *
dwGlyphDrawFlags:uint32 *
iLineHeight:int -> int
function DrawGlyphWithColors(
hdc : IntPtr,
pRect : RECT[],
iMarkerType : int,
pMarkerColors : IVsTextMarkerColorSet,
dwGlyphDrawFlags : uint,
iLineHeight : int
) : int
Параметры
hdc
Тип: IntPtr[in] дескриптор контекста устройства, указывающий дисплейного видимой области.
pRect
Тип: array<RECT[][in] указатель на структуру RECT, задающий ограничивающий прямоугольник для маркера.
iMarkerType
Тип: Int32[in] целое число, содержащее тип маркера.
pMarkerColors
Тип: Microsoft.VisualStudio.TextManager.Interop.IVsTextMarkerColorSet[in] указатель на объект цвета меток.
dwGlyphDrawFlags
Тип: UInt32[in] параметры для рисования глифа в полях интерфейсного элемента. Список dwGlyphDrawFlags значения см. в разделе GLYPHDRAWFLAGS
iLineHeight
Тип: Int32[in] целое число, указывающее высоту линии.
Возвращаемое значение
Тип: Int32
Если метод завершается успешно, возвращается S_OK.Если происходит сбой, возвращается код ошибки.
Заметки
Модель COM подписи
Из textmgr.idl:
HRESULT IVsPackageDefinedTextMarkerType::DrawGlyphWithColors(
[in] HDC hdc, [in] RECT *pRect,
[in] long iMarkerType,
[in] IVsTextMarkerColorSet *pMarkerColors,
[in] DWORD dwGlyphDrawFlags,
[in] long iLineHeight
);
Этот метод вызывается средой если указано значение MV_GLYPH для типа маркера. Для использования этого метода draw собственный глиф в видимом процента заданном регионе hdc параметр внутри ограничивающего прямоугольника. Вместо сложным кодирования, используйте цвета GetMarkerColors параметр, который необходимо вызвать pMarkerColors цвета и возврат из текущего типа маркера или связанных меток, синхронизированы с настройками цвета пользователя. Причина IVsTextMarkerColorSet используется для указания цвета, что некоторые типы маркеров используют цвета глифов, которые отличаются от них встроенные цвета и текстовые пользованы ключом других маркеров.
Следуйте приведенным ниже рекомендациям, реализующий DrawGlyphWithColors.
Не все из рисование вне ограничивающего прямоугольника, который получает с pRect параметр.
Используйте примитивов интерфейс графических устройств (GDI), а не как растровые изображения, поскольку размер линии, может изменяться с широким количеством размеров и масштабирование графики является обязательным. Однако если необходимо использовать растровые изображения, введите различные размеры растрового изображения, чтобы растянуть их правильной работы на всех доступных размерах линии, которые пользователь может задать, включая очень большие размеры специальных возможностей.
Рисование текста не отсутствует в метке для масштабирования назначения. Даже обескуражиты всеобщие символов, таких как восклицательный знак ".
Если значение MV_MULTILINE_GLYPH в стиле метки, эта функция вызывается дважды для каждого этапа рисования - один раз для закрашивания внутренней части и tail глифов, и вновь создать верхнюю часть. Значение dwGlyphDrawFlags передается в этот метод показывает, что делать:
If GDF_MULTILINE не передает в то время как раз рисование верхний край метки.
If GDF_MULTILINEуказывает, необходимо выполнить некоторые вычисления на основании других флагах для заполнения глифов в область метки. If GDF_BOTTOMEDGEпередает в, а затем использует часть высоты нижняя линия, суть дела ввода ограничивающего прямоугольника для рисования глифа tail. If GDF_TOPEDGE передает в, а затем использует верхнюю часть высота линии для рисования в верхней части глифов. Все остальные места в прямоугольнике ввода ограничивающий внутреннюю часть и должна быть покрашена данной функцией.
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
IVsPackageDefinedTextMarkerType Интерфейс
Microsoft.VisualStudio.TextManager.Interop - пространство имен