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