Share via


CMFCColorButton, classe

Les CMFCColorButton classes CMFCColorBar Class sont utilisées ensemble pour implémenter un contrôle de sélecteur de couleurs.

Syntaxe

class CMFCColorButton : public CMFCButton

Membres

Constructeurs publics

Nom Description
CMFCColorButton ::CMFCColorButton Construit un nouvel objet CMFCColorButton.

Méthodes publiques

Nom Description
CMFCColorButton ::EnableAutomaticButton Active et désactive un bouton « automatique » positionné au-dessus des boutons de couleur standard. (Le bouton automatique du système standard est étiqueté Automatique.)
CMFCColorButton ::EnableOtherButton Active et désactive un bouton « autre » positionné sous les boutons de couleur standard. (Le bouton « other » du système standard est étiqueté Autres couleurs.)
CMFCColorButton ::GetAutomaticColor Récupère la couleur automatique actuelle.
CMFCColorButton ::GetColor Récupère la couleur d’un bouton.
CMFCColorButton ::SetColor Définit la couleur d’un bouton.
CMFCColorButton ::SetColorName Définit un nom de couleur.
CMFCColorButton ::SetColumnsNumber Définit le nombre de colonnes dans la boîte de dialogue sélecteur de couleurs.
CMFCColorButton ::SetDocumentColors Spécifie une liste de couleurs spécifiques au document affichées dans la boîte de dialogue sélecteur de couleurs.
CMFCColorButton ::SetPalette Spécifie une palette de couleurs d’affichage standard.
CMFCColorButton ::SizeToContent Modifie la taille du contrôle bouton, en fonction de sa taille de texte et d’image.

Méthodes protégées

Nom Description
CMFCColorButton ::IsDrawXPTheme Indique si le bouton de couleur actuel est affiché dans le style visuel de Windows XP.
CMFCColorButton ::OnDraw Appelé par l’infrastructure pour afficher une image du bouton.
CMFCColorButton ::OnDrawBorder Appelé par l’infrastructure pour afficher la bordure du bouton.
CMFCColorButton ::OnDrawFocusRect Appelé par l’infrastructure pour afficher un rectangle de focus lorsque le bouton a un focus.
CMFCColorButton ::OnShowColorPopup Appelé par l’infrastructure lorsque la boîte de dialogue sélecteur de couleurs est sur le point d’être affichée.
CMFCColorButton ::RebuildPalette Initialise le m_pPalette membre de données protégé à la palette spécifiée ou à la palette système par défaut.
CMFCColorButton ::UpdateColor Appelé par l’infrastructure lorsque l’utilisateur sélectionne une couleur dans la palette de la boîte de dialogue sélecteur de couleurs.

Données membres

Nom Description
m_bAltColorDlg Valeur booléenne. Si la valeur est TRUE, l’infrastructure affiche la boîte de dialogue couleur CMFCColorDialog lorsque l’autre bouton est cliqué ou si LA valeur EST FALSE, la boîte de dialogue couleur système. La valeur par défaut est TRUE. Pour plus d’informations, consultez CMFCColorButton ::EnableOtherButton.
m_bAutoSetFocus Valeur booléenne. Si la valeur est TRUE, l’infrastructure définit le focus sur le menu couleur lorsque le menu est affiché, ou si LA valeur EST FALSE, ne modifie pas le focus. La valeur par défaut est TRUE.
CMFCColorButton ::m_bEnabledInCustomizeMode Indique si le mode de personnalisation est activé pour le bouton couleur.
m_Color Valeur COLORREF . Contient la couleur actuellement sélectionnée.
m_ColorAutomatic Valeur COLORREF . Contient la couleur par défaut actuellement sélectionnée.
m_Colors CArray des valeurs COLORREF. Contient les couleurs actuellement disponibles.
m_lstDocColors Liste de valeurs COLORREF. Contient les couleurs actuelles du document.
m_nColumns Entier. Contient le nombre de colonnes à afficher dans la grille des couleurs dans un menu de sélection de couleurs.
m_pPalette Pointeur vers un CPalette. Contient les couleurs disponibles dans le menu de sélection de couleurs actuel.
m_pPopup Pointeur vers un objet CMFCColorPopupMenu Class . Menu de sélection de couleur qui s’affiche lorsque vous cliquez sur le bouton couleur.
m_strAutoColorText Chaîne. Étiquette du bouton « automatique » dans un menu de sélection de couleurs.
m_strDocColorsText Chaîne. Étiquette du bouton dans un menu de sélection de couleurs qui affiche les couleurs du document.
m_strOtherText Chaîne. Étiquette du bouton « autre » dans un menu de sélection de couleurs.

Notes

Par défaut, la CMFCColorButton classe se comporte comme un bouton push qui ouvre une boîte de dialogue sélecteur de couleurs. La boîte de dialogue sélecteur de couleurs contient un tableau de petits boutons de couleur et un bouton « autre » qui affiche un sélecteur de couleurs personnalisé. (Le bouton « other » du système standard est étiqueté Autres couleurs.) Lorsqu’un utilisateur sélectionne une nouvelle couleur, l’objet CMFCColorButton reflète la modification et affiche la couleur sélectionnée.

Créez un contrôle de bouton de couleur directement dans votre code, ou à l’aide de l’outil ClassWizard et d’un modèle de boîte de dialogue. Si vous créez directement un contrôle de bouton de couleur, ajoutez une CMFCColorButton variable à votre application, puis appelez le constructeur et Create les méthodes de l’objet CMFCColorButton . Si vous utilisez ClassWizard, ajoutez une CButton variable à votre application, puis remplacez le type de la variable CButton par CMFCColorButton.

La boîte de dialogue sélecteur de couleurs ( classe CMFCColorBar) s’affiche par la méthode CMFCColorButton ::OnShowColorPopup lorsque l’infrastructure appelle le OnLButtonDown gestionnaire d’événements. La méthode CMFCColorButton ::OnShowColorPopup peut être substituée pour prendre en charge la sélection de couleurs personnalisée.

L’objet CMFCColorButton informe son parent qu’une couleur change en l’envoyant une WM_COMMAND | notification BN_CLICKED. Le parent utilise la méthode CMFCColorButton ::GetColor pour récupérer la couleur actuelle.

Exemple

L’exemple suivant montre comment configurer un bouton de couleur à l’aide de différentes méthodes dans la CMFCColorButton classe. Les méthodes définissent la couleur du bouton couleur et son nombre de colonnes, puis activent les boutons automatiques et les autres boutons. Cet exemple fait partie de l’exemple de démonstration de la barre d’état.

CMFCColorButton m_wndTextColor;
m_wndTextColor.EnableAutomaticButton(_T("Default"), afxGlobalData.clrBtnText);
m_wndTextColor.EnableOtherButton(_T("Other..."));
m_wndTextColor.SetColor((COLORREF)-1);
m_wndTextColor.SetColorName((COLORREF)-1, "Default Color");
m_wndTextColor.SetColumnsNumber(3);

Spécifications

En-tête : afxcolorbutton.h

CMFCColorButton ::CMFCColorButton

Construit un nouvel objet CMFCColorButton.

CMFCColorButton();

CMFCColorButton ::EnableAutomaticButton

Activez ou désactivez le bouton « automatique » d’un contrôle sélecteur de couleurs et définissez la couleur automatique (par défaut).

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE);

Paramètres

lpszLabel
[in] Spécifie le texte du bouton automatique.

colorAutomatic
[in] Valeur RVB qui spécifie la couleur par défaut du bouton automatique.

bEnable
[in] Spécifie si le bouton automatique est activé ou désactivé.

Notes

CMFCColorButton ::EnableOtherButton

Activez ou désactivez le bouton « autre », qui apparaît sous les boutons de couleur standard.

void EnableOtherButton(
    LPCTSTR lpszLabel,
    BOOL bAltColorDlg=TRUE,
    BOOL bEnable=TRUE);

Paramètres

lpszLabel
[in] Spécifie le texte du bouton.

bAltColorDlg
[in] Spécifie si la boîte de dialogue CMFCColorDialog ou la boîte de dialogue couleur système est ouverte lorsque l’utilisateur clique sur le bouton.

bEnable
[in] Spécifie si le bouton « autre » est activé ou désactivé.

Notes

Cliquez sur le bouton « autre » pour afficher une boîte de dialogue couleur. Si le paramètre bAltColorDlg a la valeur TRUE, la classe CMFCColorDialog s’affiche ; sinon, la boîte de dialogue couleur système s’affiche.

CMFCColorButton ::GetAutomaticColor

Récupère la couleur automatique actuelle (par défaut).

COLORREF GetAutomaticColor() const;

Valeur de retour

Valeur RVB représentant la couleur automatique actuelle.

Notes

La couleur automatique actuelle est définie par la méthode CMFCColorButton ::EnableAutomaticButton .

CMFCColorButton ::GetColor

Récupère la couleur actuellement sélectionnée.

COLORREF GetColor() const;

Valeur de retour

Valeur RVB.

Notes

CMFCColorButton ::IsDrawXPTheme

Indique si le bouton de couleur actuel est affiché dans le style visuel de Windows XP.

BOOL IsDrawXPTheme() const;

Valeur de retour

TRUE si les styles visuels sont pris en charge et que le bouton de couleur actuel s’affiche dans le style visuel de Windows XP ; sinon, FALSE.

CMFCColorButton ::m_bEnabledInCustomizeMode

Définit un bouton de couleur en mode de personnalisation.

BOOL m_bEnabledInCustomizeMode;

Notes

Si vous devez ajouter un bouton de couleur à la page d’une boîte de dialogue de personnalisation (ou autoriser l’utilisateur à effectuer une autre sélection de couleur lors de la personnalisation), activez le bouton en définissant le m_bEnabledInCustomizeMode membre sur TRUE. Par défaut, ce membre a la valeur FALSE.

CMFCColorButton ::OnDraw

Appelé par l’infrastructure pour afficher une image du bouton.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Paramètres

pDC
[in] Pointe vers le contexte de l’appareil utilisé pour afficher l’image du bouton.

Rect
[in] Rectangle qui limite le bouton.

uiState
[in] Spécifie l’état visuel du bouton.

Notes

Remplacez cette méthode pour personnaliser le processus de rendu.

CMFCColorButton ::OnDrawBorder

Appelé par l’infrastructure pour afficher la bordure du bouton.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Paramètres

pDC
[in] Pointe vers le contexte de l’appareil utilisé pour dessiner la bordure.

rectClient
[in] Rectangle dans le contexte de l’appareil spécifié par le paramètre pDC qui définit les limites du bouton à dessiner.

uiState
[in] Spécifie l’état visuel du bouton.

Notes

Remplacez cette fonction pour personnaliser l’apparence de bordure du bouton de couleur.

CMFCColorButton ::OnDrawFocusRect

Appelé par l’infrastructure pour afficher un rectangle de focus lorsque le bouton a le focus.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Paramètres

pDC
[in] Pointe vers le contexte de l’appareil utilisé pour dessiner le rectangle de focus.

rectClient
[in] Rectangle dans le contexte de l’appareil spécifié par le paramètre pDC qui définit les limites du bouton.

Notes

Remplacez cette méthode pour personnaliser l’apparence du rectangle de focus.

CMFCColorButton ::OnShowColorPopup

Appelée avant l’affichage de la barre de couleurs contextuelle.

virtual void OnShowColorPopup();

Notes

CMFCColorButton ::RebuildPalette

Initialise le m_pPalette membre de données protégé à la palette spécifiée ou à la palette système par défaut.

void RebuildPalette(CPalette* pPal);

Paramètres

pPal
[in] Pointeur vers une palette logique ou NULL. Si la valeur est NULL, la palette système par défaut est utilisée.

CMFCColorButton ::SetColor

Spécifie la couleur du bouton.

void SetColor(COLORREF color);

Paramètres

color
[in] Valeur RVB.

Notes

CMFCColorButton ::SetColorName

Spécifie le nom d’une couleur.

static void SetColorName(
    COLORREF color,
    const CString& strName);

Paramètres

color
[in] Valeur RVB de la couleur.

strName
[in] Nom de la couleur.

Notes

La liste des noms de couleurs est globale par application. Par conséquent, cette méthode transfère ses paramètres à CMFCColorBar ::SetColorName.

CMFCColorButton ::SetColumnsNumber

Définit le nombre de colonnes affichées dans le tableau des couleurs présentées à l’utilisateur pendant le processus de sélection des couleurs de l’utilisateur.

void SetColumnsNumber(int nColumns);

Paramètres

nColumns
[in] Spécifie le nombre de colonnes.

Notes

L’utilisateur peut sélectionner une couleur dans une barre de couleurs contextuelle qui affiche une table de couleurs prédéfinies. Utilisez cette méthode pour définir le nombre de colonnes dans la table.

CMFCColorButton ::SetDocumentColors

Spécifie un jeu de couleurs et le nom du jeu. L’ensemble de couleurs s’affiche à l’aide d’un objet CMFCColorBar Class .

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

Paramètres

lpszLabel
[in] Spécifie l’étiquette à afficher avec l’ensemble de couleurs du document.

lstColors
[in] Référence à une liste de valeurs RVB.

Notes

Un CMFCColorButton objet gère une liste de valeurs RVB transférées vers un objet CMFCColorBar Class . Lorsque la barre de couleurs est affichée, ces couleurs sont affichées dans une section spéciale dont l’étiquette est spécifiée par le paramètre lpszLabel .

CMFCColorButton ::SetPalette

Spécifie les couleurs standard à afficher dans la barre de couleurs contextuelle.

void SetPalette(CPalette* pPalette);

Paramètres

pPalette
[in] Pointeur vers une palette de couleurs.

Notes

CMFCColorButton ::SizeToContent

Redimensionne le contrôle bouton pour qu’il corresponde à son texte et à son image.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Paramètres

bCalcOnly
[in] Si elle n’est pas différente de zéro, la nouvelle taille du contrôle bouton est calculée, mais la taille réelle n’est pas modifiée.

Valeur de retour

Objet CSize qui spécifie une nouvelle taille de contrôle de bouton.

Notes

CMFCColorButton ::UpdateColor

Appelé par l’infrastructure lorsque l’utilisateur sélectionne une couleur dans la barre de couleurs qui s’affiche lorsque l’utilisateur clique sur le bouton couleur.

virtual void UpdateColor(COLORREF color);

Paramètres

color
[in] Couleur sélectionnée par l’utilisateur.

Notes

La UpdateColor fonction modifie la couleur du bouton sélectionné et avertit son parent en envoyant un message WM_COMMAND avec une notification standard BN_CLICKED. Utilisez la méthode CMFCColorButton ::GetColor pour récupérer la couleur sélectionnée.

Voir aussi

Graphique hiérarchique
Classes
CMFCButton, classe
CMFCColorBar, classe
CMFCColorButton ::OnShowColorPopup
COLORREF
CPalette, classe
CArray, classe
CList, classe
CString