Condividi tramite


Metodo IVsPackageDefinedTextMarkerType.DrawGlyphWithColors

Disegna un glifo nel contesto di visualizzazione e il rettangolo di delimitazione specificati tramite colori disponibili.

Spazio dei nomi:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

Sintassi

'Dichiarazione
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

Parametri

  • hdc
    Tipo: IntPtr

    [in] Handle a un contesto dello schermo che definisce l'area visibile di interesse.

  • pRect
    Tipo: array<RECT[]

    [in] Puntatore a una struttura RECT che definisce il rettangolo delimitatore del marcatore.

  • iMarkerType
    Tipo: Int32

    [in] Intero che contiene il tipo del marcatore.

  • dwGlyphDrawFlags
    Tipo: UInt32

    [in] Opzioni per disegnare il glifo nel margine del widget. per un elenco di dwGlyphDrawFlags i valori, vedere GLYPHDRAWFLAGS

  • iLineHeight
    Tipo: Int32

    [in] Intero che specifica l'altezza della riga.

Valore restituito

Tipo: Int32
Se il metodo ha esito positivo, restituisce S_OK.Se non riesce, restituisce un codice di errore.

Note

Firma COM

da textmgr.idl:

HRESULT IVsPackageDefinedTextMarkerType::DrawGlyphWithColors(
   [in] HDC hdc, [in] RECT *pRect, 
   [in] long iMarkerType, 
   [in] IVsTextMarkerColorSet *pMarkerColors, 
   [in] DWORD dwGlyphDrawFlags, 
   [in] long iLineHeight
);

Questo metodo viene chiamato dall'ambiente se si specifica un valore di MV_GLYPH per il tipo del marcatore. Per utilizzare questo metodo, disegnare il glifo nell'area visibile di interesse specificata da hdc parametro all'interno del rettangolo di delimitazione. Anziché i colori a livello di codice, utilizzare GetMarkerColors parametro da chiamare di pMarkerColors e restituire i colori il tipo corrente del marcatore o dai marcatori correlati in modo da sincronizzarvi tramite le personalizzazioni del colore dell'utente. il motivo IVsTextMarkerColorSet viene utilizzato per determinare i colori è che alcuni colori del glifo di utilizzo dei tipi dei marcatori che sono diversi dai colori di testo inline e vengono impostati al di fuori di altri marcatori.

Seguire le linee guida riportate implementano DrawGlyphWithColors:

Non eseguire alcun elemento all'esterno del rettangolo di delimitazione che restituisce con pRect parametro.

Utilizzare primitive (GDI) di Graphics Device Interface) anziché bitmap, perché la dimensione di una riga può variare da un ampio numero di dimensioni e la scala di elementi grafici è obbligatoria. Tuttavia, se si desidera utilizzare le bitmap, fornire varie dimensioni della bitmap in modo da poter adattarli la corretta per lavorare a tutte le dimensioni disponibili della riga che l'utente può impostare, incluse le dimensioni molto grandi per l'accessibilità necessaria.

Non disegnare un testo nel marcatore per ridimensionare gli scopi. Anche i simboli universale, ad esempio un punto esclamativo, non sono consigliati progetti.

Se si specifica un valore di MV_MULTILINE_GLYPH nello stile del marcatore, questa funzione viene chiamato due volte per ogni sessione di disegno - una volta per disegnare l'interno e la parte finale dell'icona e disegnare nuovamente la parte superiore. il valore per dwGlyphDrawFlags è stato trasformato questo metodo indica cosa fare:

se GDF_MULTILINE non viene passato, quindi appena viene tracciato il bordo superiore del marcatore.

se GDF_MULTILINEviene specificato, è necessario eseguire alcuni calcoli basati su altri flag inserire l'area del glifo del marcatore. se GDF_BOTTOMEDGEviene passato, utilizzerà la parte dell'altezza della riga inferiore del rettangolo di delimitazione di input per estrarre un elemento tail del glifo. se GDF_TOPEDGE viene passato, utilizzerà la parte superiore dell'altezza delle righe per disegnare la parte superiore del glifo. Tutto lo spazio rimanente nel rettangolo di delimitazione di input viene l'interno e deve essere disegnato dalla funzione.

Sicurezza di .NET Framework

Vedere anche

Riferimenti

IVsPackageDefinedTextMarkerType Interfaccia

Spazio dei nomi Microsoft.VisualStudio.TextManager.Interop