Comment : Accédez aux polices et au modèle de couleurs prédéfinis
L'environnement de développement intégré Visual (IDE) Studio a un modèle de polices et de couleurs qui est associée à la fenêtre d'éditeur. Vous pouvez accéder à cette méthode via l'interface d' IVsTextView .
Pour utiliser des polices et le modèle de couleurs prédéfinies, un VSPackage doit :
Définissez une catégorie à utiliser avec les polices par défaut et le service de couleurs.
Enregistrez la catégorie avec les polices par défaut et couleur le serveur.
Recommandez IDE que des utilisations spécifiques d'une fenêtre les éléments et les catégories prédéfinis d'affichage à l'aide de les interfaces d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer et d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer .
L'IDE utilise la catégorie résultant comme handle de la fenêtre. le nom de la catégorie est affiché dans la zone déroulante d' Afficher les paramètres pour : dans la page de propriétés de Polices et couleurs .
Pour définir une catégorie utilisation des polices prédéfinies et les couleurs
Create GUID arbitraire.
Ce GUID est utilisé pour identifier une catégorie**.** Cette catégorie réutilise les polices IDE par défaut de couleurs et la spécification. Pour plus d'informations, consultez GUIDGEN Sample: Generates Globally Unique Identifiers (GUIDs).
Notes
En extrayant les données de police et de couleur avec IVsFontAndColorEvents ou d'autres interfaces, utilisez de VSPackages ce GUID de référencer des informations prédéfinies.
Le nom de la catégorie doit être ajouté à une table de chaînes dans le fichier de ressources du VSPackage (.rc), afin qu'il puisse être localisé si nécessaire en cas de affichage dans l'IDE.
Pour plus d'informations, consultez Ajout ou suppression d'une chaîne.
Pour enregistrer une catégorie utilisation des polices prédéfinies et les couleurs
Construisez un type particulier d'entrée du Registre de catégorie à l'emplacement suivant :
[HKLM \SOFTWARE\Microsoft \Visual Studio \ <Visual Studio version> \FontAndColors \ <Category> ]
<Category> est le nom non localisé de la catégorie.
Remplissez Registre pour utiliser des polices et le modèle de couleurs stock avec quatre valeurs suivantes :
Nom
Type
Données
Description
Catégorie
REG_SZ
GUID
GUID arbitraire qui identifie une catégorie qui contient la police et le modèle de couleurs boursières.
Package
REG_SZ
GUID
{} F5E7E71D-1401-11D1-883B-0000F87579D2
Ce GUID est utilisé par le VSPackages qui utilisent la police par défaut et colorient configurations.
NameID
REG_DWORD
ID
L'ID de ressource d'un nom localisé de catégorie dans le VSPackage.
ToolWindowPackage
REG_SZ
GUID
GUID du VSPackage implémentant l'interface d' IVsTextView .
Pour initialiser l'utilisation de polices fournies par le système et de couleurs
Créez une instance de l'interface d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer dans le cadre de l'implémentation et de l'initialisation de la fenêtre.
appelez la méthode d' GetPropertyCategory pour obtenir une instance de l'interface d' T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer correspondant à l'instance actuelle d' IVsTextView .
SetProperty d'appel deux fois.
Appelez une fois avec VSEDITPROPID_ViewGeneral_ColorCategorycomme argument.
Appelez une fois avec VSEDITPROPID_ViewGeneral_FontCategory comme argument.
Cela définit et expose les polices par défaut de couleurs et des services en tant que propriété de la fenêtre.
Exemple
L'exemple suivant initialise l'utilisation de polices et les couleurs prédéfinies.
CComVariant vt;
CComQIPtr<IVsTextEditorPropertyCategoryContainer> spPropCatContainer(m_spView);
if (spPropCatContainer != NULL){
CComPtr<IVsTextEditorPropertyContainer> spPropContainer;
if (SUCCEEDED(spPropCatContainer->GetPropertyCategory(GUID_EditPropCategory_View_MasterSettings,
&spPropContainer))){
CComVariant vt;CComVariant VariantGUID(bstrGuidText);
spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_FontCategory, VariantGUID);
spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_ColorCategory, VariantGUID);
}
}
Voir aussi
Concepts
Obtention de police et des informations sur la couleur pour la colorisation de texte
La police et paramètres de couleurs stockés de accès
Présentation de couleur et de police