Partager via


CMFCColorBar, classe

La classe d' CMFCColorBar représente une barre de contrôles d'ancrage qui peut sélectionner des couleurs dans un document ou une application.

class CMFCColorBar : public CMFCPopupMenuBar

Membres

Constructeurs protégés

Nom

Description

CMFCColorBar::CMFCColorBar

Construit un objet CMFCColorBar.

Méthodes publiques

Nom

Description

CMFCColorBar::ContextToSize

Calcule la verticale et les marges horizontales qui sont requises pour contenir les boutons sur le contrôle de la barre de couleurs puis règle l'emplacement de ces boutons.

CMFCColorBar::CreateControl

Crée une fenêtre de contrôle de la barre de couleurs, la attaché à l'objet d' CMFCColorBar , et le contrôle se redimensionne pour contenir la palette de couleurs spécifiée.

CMFCColorBar::Create

Crée une fenêtre de contrôle de la barre de couleurs et la attaché à l'objet d' CMFCColorBar .

CMFCColorBar::EnableAutomaticButton

Affiche ou masque le bouton automatique.

CMFCColorBar::EnableOtherButton

Active ou désactive l'affichage d'une boîte de dialogue qui permet à l'utilisateur de sélectionner plus de couleurs.

CMFCColorBar::GetColor

Extrait la couleur sélectionnée.

CMFCColorBar::GetCommandID

Extrait l'ID de commande du contrôle de la barre de couleurs actuelle.

CMFCColorBar::GetHighlightedColor

Extrait la couleur qui signifie qu'un bouton de couleur a le focus ; autrement dit, le bouton est à chaud.

CMFCColorBar::GetHorzMargin

Extrait la marge horizontale, qui est l'espace entre la cellule gauche ou droit de couleur et la limite de zone cliente.

CMFCColorBar::GetVertMargin

Extrait la marge vertical, qui est l'espace entre le début ou la cellule de couleur inférieur et la limite de zone cliente.

CMFCColorBar::IsTearOff

Indique si la discrimination raciale actuelle est ancrable.

CMFCColorBar::SetColor

Définit la couleur actuellement sélectionnée.

CMFCColorBar::SetColorName

Définit un nouveau nom pour une couleur spécifiée.

CMFCColorBar::SetCommandID

Définit un nouvel ID de commande pour un contrôle de la barre de couleurs.

CMFCColorBar::SetDocumentColors

Définit la liste de couleurs utilisées dans le document actif.

CMFCColorBar::SetHorzMargin

Définit la marge horizontale, qui est l'espace entre la cellule gauche ou droit de couleur et la limite de zone cliente.

CMFCColorBar::SetVertMargin

Définit la marge vertical, qui est l'espace entre le début ou la cellule de couleur inférieur et la limite de zone cliente.

Méthodes protégées

Nom

Description

CMFCColorBar::AdjustLocations

Ajuste les positions des boutons de couleur sur le contrôle de la barre de couleurs.

CMFCColorBar::AllowChangeTextLabels

Indique si l'étiquette de texte des boutons de couleur peut changer.

CMFCColorBar::AllowShowOnList

Indique si l'objet contrôle de la barre de couleurs peuvent apparaître dans une liste de barre d'outils pendant le processus de personnalisation.

CMFCColorBar::CalcSize

Appelé par l'infrastructure dans le cadre de le processus de calcul de disposition.

CMFCColorBar::CreatePalette

Initalizes une palette des couleurs dans un tableau spécifié de couleurs.

CMFCColorBar::GetColorGridSize

Calcule le nombre de lignes et de colonnes de la grille d'un contrôle de la barre de couleurs.

CMFCColorBar::GetExtraHeight

Calcule la hauteur supplémentaire dont la discrimination raciale actuelle a besoin pour afficher de divers éléments de l'interface utilisateur tels que le bouton autre , documentent les couleurs, et ainsi de suite.

CMFCColorBar::InitColors

Initialise un choix de couleurs avec les couleurs dans une palette spécifiée ou la palette par défaut du système.

CMFCColorBar::OnKey

Appelé par l'infrastructure lorsqu'un utilisateur appuie sur un bouton de clavier.

CMFCColorBar::OnSendCommand

Appelé par l'infrastructure pour fermer une hiérarchie de contrôles instantanés.

CMFCColorBar::OnUpdateCmdUI

Appelé par l'infrastructure pour activer ou désactiver un élément d'interface utilisateur d'un contrôle de la barre de couleurs avant l'élément s'affiche.

CMFCColorBar::OpenColorDialog

Ouvre une boîte de dialogue de couleur.

CMFCColorBar::Rebuild

Redessine complètement le contrôle de la barre de couleurs.

CMFCColorBar::SelectPalette

Définit la palette logique du contexte spécifié de périphérique à la palette du bouton parent du contrôle de la barre de couleurs actuelle.

CMFCColorBar::SetPropList

Définit le membre protégée par m_pWndPropList au pointeur spécifié à un contrôle de grille des propriétés.

CMFCColorBar::ShowCommandMessageString

Demande la fenêtre frame qui possède le contrôle de la barre de couleurs pour mettre à jour la ligne de message dans la barre d'état.

Données membres protégées

Nom

Description

m_bInternal

Un champ booléen qui détermine si les événements de souris sont traités. En général, les événements de souris sont traités lorsque ce champ est TRUE et le mode de personnalisation est FALSE.

m_bIsEnabled

Une valeur booléenne qui indique si un contrôle est activé.

m_bIsTearOff

Une valeur booléenne qui indique si le contrôle de la barre de couleurs en charge l'ancrage.

m_BoxSize

Un objet de CSize qui spécifie la taille d'une cellule dans une grille de discrimination raciale.

m_bShowDocColorsWhenDocked

Une valeur booléenne qui indique si l'affichage des couleurs du document lorsque la discrimination raciale est ancrée. Pour plus d'informations, consultez CMFCColorBar::SetDocumentColors.

m_bStdColorDlg

Une valeur booléenne qui indique si afficher la boîte de dialogue standard de couleur système ou la boîte de dialogue de CMFCColorDialog . Pour plus d'informations, consultez CMFCColorBar::EnableOtherButton.

m_ColorAutomatic

COLORREF qui stocke la couleur automatique actuelle. Pour plus d'informations, consultez CMFCColorBar::EnableOtherButton.

m_ColorNames

Un objet de CMap qui associe un ensemble RVB couleurs avec leurs noms.

m_colors

CArray des valeurs de COLORREF qui contient les couleurs affichées dans le contrôle de la barre de couleurs.

m_ColorSelected

Une valeur de COLORREF qui est la couleur que l'utilisateur a sélectionnée du contrôle de la barre de couleurs.

m_lstDocColors

CList des valeurs de COLORREF qui contient les couleurs qui sont actuellement utilisées dans un document.

m_nCommandID

Entier non signé qui est l'ID de commande d'un bouton de couleur.

m_nHorzMargin

Un entier qui représente la marge horizontale entre la couleur boutons dans une grille de couleurs.

m_nHorzOffset

Un entier qui représente l'offset horizontal au centre du bouton de couleur. Cette valeur est importante si les affichages de bouton du texte ou une image en plus d'une couleur.

m_nNumColumns

Un entier qui représente le nombre de colonnes d'une grille de contrôle de la barre de couleurs de couleurs.

m_nNumColumnsVert

Un entier qui représente le nombre de colonnes d'une grille verticalement orientée de couleurs.

m_nNumRowsHorz

Un entier qui représente le nombre de colonnes d'une grille orientée horizontalement de couleurs.

m_nRowHeight

Un entier qui est la hauteur d'une ligne de couleur boutons dans une grille de couleurs.

m_nVertMargin

Un entier qui représente la marge vertical entre la couleur boutons dans une grille de couleurs.

m_nVertOffset

Un entier qui représente le décalage vertical au centre du bouton de couleur. Cette valeur est importante si les affichages de bouton du texte ou une image en plus d'une couleur.

m_Palette

CPalette des couleurs utilisées dans le contrôle de la barre de couleurs.

m_pParentBtn

Un pointeur vers un objet de CMFCColorButton qui est le parent du bouton actuel. Cette valeur est importante si le bouton de couleur est dans une hiérarchie de contrôles de barre d'outils ou est dans un contrôle de grille des propriétés de couleur.

m_pParentRibbonBtn

Un pointeur vers un objet de CMFCRibbonColorButton basé sur le ruban et est le bouton parent du bouton actuel. Cette valeur est importante si le bouton de couleur est dans une hiérarchie de contrôles de barre d'outils ou est dans un contrôle de grille des propriétés de couleur.

m_pWndPropList

Un pointeur vers un objet de CMFCPropertyGridCtrl .

m_strAutoColor

CString qui est le texte affiché sur le bouton Automatique . Pour plus d'informations, consultez CMFCColorBar::EnableAutomaticButton.

m_strDocColors

CString qui est le texte affiché sur le bouton de couleurs de document. Pour plus d'informations, consultez CMFCColorBar::SetDocumentColors.

m_strOtherColor

CString qui est le texte affiché sur l'autre bouton. Pour plus d'informations, consultez CMFCColorBar::EnableOtherButton.

Notes

Généralement, vous ne créez pas un objet d' CMFCColorBar directement. À la place, CMFCColorMenuButton, classe (utilisé dans les menus et les barres d'outils) ou CMFCColorButton, classe crée l'objet d' CMFCColorBar .

La classe d' CMFCColorBar fournit les fonctionnalités suivantes :

  • Ajuste automatiquement la liste de couleurs de document.

  • Enregistre et restaure son état, ainsi que l'état de document.

  • Gère le bouton « automatique ».

  • Utilise le contrôle de CMFCColorPickerCtrl, classe pour sélectionner une couleur personnalisée.

  • Prend en charge « arrachent » l'état (s'il est créé à l'aide de CMFCColorMenuButton, classe).

Pour incorporer la fonctionnalité d' CMFCColorBar à votre application :

  1. Créez un bouton de menu normal et assignez -lui un ID, par exemple ID_CHAR_COLOR.

  2. Dans votre classe de fenêtre frame, substituez la méthode de CFrameWndEx::OnShowPopupMenu et remplacez le bouton de menu normal par un objet de CMFCColorMenuButton, classe (en appelant CMFCToolBar::ReplaceButton).

  3. Définissez les styles et activer ou désactiver les fonctionnalités de l'objet d' CMFCColorBar pendant la création de CMFCColorMenuButton, classe . L'objet d' CMFCColorMenuButton crée dynamiquement l'objet d' CMFCColorBar lorsque l'infrastructure appelle la méthode d' CreatePopupMenu .

Lorsque l'utilisateur clique sur un bouton de la barre de couleurs, l'infrastructure utilise la macro d' ON_COMMAND pour informer le parent du contrôle de la barre de couleurs. Dans la macro, le paramètre d'ID de commande est la valeur que vous avez assignée au bouton de la barre de couleurs à l'étape 1 (ID_CHAR_COLOR dans cet exemple). Pour plus d'informations, consultez les classes de CMFCColorMenuButton, classe, de CMFCColorButton, classe, de CMFCColorPickerCtrl, classe, de CFrameWndEx, classe, et de CMFCToolBar, classe .

Exemple

L'exemple suivant montre comment configurer une discrimination raciale en utilisant différentes méthodes dans la classe d' CMFCColorBar . Les méthodes définissent l'horizontale et les marges verticales, permettent l'autre bouton, créent une fenêtre de contrôle de la barre de couleurs, et affecte la couleur sélectionnée. Cet exemple fait partie de Nouvel exemples de contrôles.

   CMFCColorBar m_wndColorBar;


...


    // set the margins
    m_wndColorBar.SetHorzMargin(0);
    m_wndColorBar.SetVertMargin(0);
    // enable the display of a dialog box that  
    // lets the user select more colors
    m_wndColorBar.EnableOtherButton(_T("Other..."));
    // create a color bar control window
    m_wndColorBar.CreateControl(this, rectColorBar, IDC_COLORBAR, 5 /* columns */);
    // set the currently selected color
    m_wndColorBar.SetColor(RGB(255, 0, 0));

Hiérarchie d'héritage

CObject

   CCmdTarget

      CWnd

         CBasePane

            CPane

               CMFCBaseToolBar

                  CMFCToolBar

                     CMFCPopupMenuBar

                        CMFCColorBar

Configuration requise

en-tête : afxcolorbar.h

Voir aussi

Référence

Graphique de la hiérarchie

Autres ressources

classes MFC