Partager via


IVsPackageDefinedTextMarkerType.DrawGlyphWithColors, méthode

Dessine un glyphe dans le contexte d'affichage donné et le rectangle englobant à l'aide de les couleurs fournies.

Espace de noms :  Microsoft.VisualStudio.TextManager.Interop
Assembly :  Microsoft.VisualStudio.TextManager.Interop (dans Microsoft.VisualStudio.TextManager.Interop.dll)

Syntaxe

'Déclaration
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

Paramètres

  • hdc
    Type : IntPtr

    [in] handle à un contexte de périphérique d'affichage qui définit la région visible d'intérêt.

  • pRect
    Type : array<RECT[]

    [in] pointeur à une structure RECT qui définit le rectangle englobant de la marque.

  • iMarkerType
    Type : Int32

    [in] entier contenant le type de marqueur.

  • dwGlyphDrawFlags
    Type : UInt32

    [in] options pour dessiner le glyphe dans la marge de widget. Pour une liste de valeurs d'dwGlyphDrawFlags, consultez l'GLYPHDRAWFLAGS

  • iLineHeight
    Type : Int32

    [in] entier spécifiant la hauteur de ligne.

Valeur de retour

Type : Int32
Si la méthode réussit, elle retourne S_OK.En cas d'échec, un code d'erreur est retourné.

Notes

Signature de COM

De textmgr.idl :

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

Cette méthode est appelée par l'environnement si vous spécifiez une valeur d'MV_GLYPH pour votre type de marqueur. Pour utiliser cette méthode, dessinez votre glyphe sur la région visible d'intérêt spécifiée par le paramètre d'hdc dans le rectangle englobant. Au lieu des couleurs dures de programmation, utilisez le paramètre d'pMarkerColors pour appeler l'GetMarkerColors et retourner les couleurs du type de marqueur actuel ou des marques associées afin que vous soyez synchronisé avec les personnalisations de la couleur de l'utilisateur. La raison IVsTextMarkerColorSet est utilisée de déterminer des couleurs est que les couleurs de glyphe d'utilisation de certains types de marqueur qui sont différentes de leurs couleurs intégrées de texte et sont indexées absence d'autres marques.

Suivez ces indications en implémentant l'DrawGlyphWithColors :

Ne dessinez rien en dehors de l'du rectangle englobant qui se retourne avec le paramètre d'pRect.

Utilisez les primitives de (GDI) Graphics Device Interface plutôt que des bitmap, car la taille d'une ligne peut varier sur d'un numéro large de tailles et la mise à l'échelle des graphiques est requise. Toutefois, si vous souhaitez utiliser des bitmap, fournissez une variété de tailles de bitmap afin que vous puissiez les étirer pour fonctionner correctement sur toutes les tailles disponibles de ligne que l'utilisateur peut définir, y compris des tailles très grandes pour l'accessibilité a besoin.

Ne dessinez pas de texte dans votre marque pour mettre à l'échelle des objectifs. Même universels des symboles, comme un point d'exclamation, sont découragés.

Si vous spécifiiez une valeur d'MV_MULTILINE_GLYPH dans votre style de marque, cette fonction est appelée deux fois pour chaque série de peinture - une fois pour peindre l'intérieur et la fin du glyphe, et pour dessiner de nouveau le haut. La valeur pour dwGlyphDrawFlags est passée dans cette méthode indique que faire :

Si GDF_MULTILINE n'est pas passé dans, tandis dessinez simplement le bord supérieur de la marque.

Si GDF_MULTILINE est spécifié, vous devez effectuer des calculs selon d'autres balises pour compléter la zone de glyphe de marque. Si GDF_BOTTOMEDGE est passé dans, puis utilise la partie de la hauteur de ligne inférieure du rectangle englobant d'entrée pour dessiner une file d'attente du glyphe. Si GDF_TOPEDGE est passé dans, puis utilise la partie supérieure de hauteur de ligne pour dessiner le haut du glyphe. Aucune partie restante dans le rectangle englobant d'entrée est l'intérieur et doit être peint par votre fonction.

Sécurité .NET Framework

Voir aussi

Référence

IVsPackageDefinedTextMarkerType Interface

Microsoft.VisualStudio.TextManager.Interop, espace de noms