IVsPackageDefinedTextMarkerType.DrawGlyphWithColors(IntPtr, RECT[], Int32, IVsTextMarkerColorSet, UInt32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Zeichnet mithilfe der bereitgestellten Farben ein Symbol im angegebenen Anzeigekontext und umschließenden Rechteck.
public:
int DrawGlyphWithColors(IntPtr hdc, cli::array <Microsoft::VisualStudio::OLE::Interop::RECT> ^ pRect, int iMarkerType, Microsoft::VisualStudio::TextManager::Interop::IVsTextMarkerColorSet ^ pMarkerColors, System::UInt32 dwGlyphDrawFlags, int iLineHeight);
public int DrawGlyphWithColors (IntPtr hdc, Microsoft.VisualStudio.OLE.Interop.RECT[] pRect, int iMarkerType, Microsoft.VisualStudio.TextManager.Interop.IVsTextMarkerColorSet pMarkerColors, uint dwGlyphDrawFlags, int iLineHeight);
abstract member DrawGlyphWithColors : nativeint * Microsoft.VisualStudio.OLE.Interop.RECT[] * int * Microsoft.VisualStudio.TextManager.Interop.IVsTextMarkerColorSet * uint32 * int -> int
Public Function DrawGlyphWithColors (hdc As IntPtr, pRect As RECT(), iMarkerType As Integer, pMarkerColors As IVsTextMarkerColorSet, dwGlyphDrawFlags As UInteger, iLineHeight As Integer) As Integer
Parameter
- hdc
- IntPtr
[in] Handle für einen Anzeigegerätekontext, der den sichtbaren Bereich von Interesse definiert.
- pRect
- RECT[]
[in] Zeiger auf eine RECT-Struktur, die das umschließende Rechteck für den Marker definiert.
- iMarkerType
- Int32
[in] Ganze Zahl, die den Markertyp enthält.
- pMarkerColors
- IVsTextMarkerColorSet
[in] Zeiger auf ein Markerfarbobjekt.
- dwGlyphDrawFlags
- UInt32
[in] Optionen für das Zeichnen des Symbols im Widgetrand. Eine Liste der dwGlyphDrawFlags Werte finden Sie unter. GLYPHDRAWFLAGS
- iLineHeight
- Int32
[in] Ganze Zahl, die die Zeilenhöhe angibt.
Gibt zurück
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Aus textmgr. idl:
HRESULT IVsPackageDefinedTextMarkerType::DrawGlyphWithColors(
[in] HDC hdc, [in] RECT *pRect,
[in] long iMarkerType,
[in] IVsTextMarkerColorSet *pMarkerColors,
[in] DWORD dwGlyphDrawFlags,
[in] long iLineHeight
);
Diese Methode wird von der Umgebung aufgerufen, wenn Sie den Wert MV_GLYPH für den Markertyp angeben. Um diese Methode zu verwenden, zeichnen Sie das Symbol auf dem sichtbaren Bereich, der durch den- hdc Parameter innerhalb des umgebenden Rechtecks angegeben wird. Verwenden Sie anstelle von hart Codierungs Farben den pMarkerColors -Parameter, um aufzurufen, GetMarkerColors und geben Sie die Farben aus dem aktuellen Markertyp oder den zugehörigen Markern zurück, damit Sie mit den Farbanpassungen des Benutzers synchronisiert werden. Der Grund IVsTextMarkerColorSet für die Festlegung von Farben ist, dass einige Markertypen Symbol Farben verwenden, die sich von ihren Inline Textfarben unterscheiden und von anderen Markern abgeblendet werden.
Befolgen Sie diese Richtlinien, wenn Sie implementieren DrawGlyphWithColors :
Zeichnen Sie nichts außerhalb des umgebenden Rechtecks, das mit dem-Parameter zurückgegeben wird pRect .
Verwenden Sie Graphics Device Interface-primitiv (GDI) anstelle von Bitmaps, da die Größe einer Zeile über eine große Anzahl von Größen abweichen kann und die Skalierung von Grafiken erforderlich ist. Wenn Sie jedoch Bitmaps verwenden möchten, können Sie eine Vielzahl von Bitmapgrößen bereitstellen, sodass Sie diese für alle verfügbaren Zeilen Größen, die der Benutzer festlegen kann, ordnungsgemäß bearbeiten können, einschließlich sehr großer Größen für Barrierefreiheits Anforderungen.
Zeichnen Sie keinen Text in Ihrem Marker zu Skalierungs Zwecken. Auch universelle Symbole, wie z. b. ein Ausrufezeichen, sind nicht empfehlenswert.
Wenn Sie MV_MULTILINE_GLYPH in Ihrem markerstil den Wert angegeben haben, wird diese Funktion für jeden Zeichnungs Durchlauf zweimal aufgerufen – einmal, um das innere und das Ende des Symbols zu zeichnen, und dann erneut, um den oberen Rand zu zeichnen. Der Wert für die dwGlyphDrawFlags Übergabe an diese Methode gibt an, was zu tun ist:
Wenn GDF_MULTILINE nicht weitergegeben wird, zeichnen Sie einfach den oberen Rand des Markers.
Wenn GDF_MULTILINE angegeben wird, müssen Sie einige Berechnungen auf Grundlage anderer Flags durchführen, um den markerglyphe-Bereich auszufüllen. Wenn GDF_BOTTOMEDGE an weitergegeben wird, verwendet den Teil der untersten Zeilenhöhe des umgebenden Rechtecks für die Eingabe, um ein Fragment des Symbols zu zeichnen. Wenn GDF_TOPEDGE an weitergegeben wird, verwendet den Teil der obersten Zeilenhöhe, um den oberen Rand des Symbols zu zeichnen. Alle verbleibenden Räume im Eingabe umgebenden Rechteck sind das innere und sollten von ihrer Funktion gezeichnet werden.