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 |
---|---|
Construit un objet CMFCColorBar. |
Méthodes publiques
Nom |
Description |
---|---|
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. |
|
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. |
|
Crée une fenêtre de contrôle de la barre de couleurs et la attaché à l'objet d' CMFCColorBar . |
|
Affiche ou masque le bouton automatique. |
|
Active ou désactive l'affichage d'une boîte de dialogue qui permet à l'utilisateur de sélectionner plus de couleurs. |
|
Extrait la couleur sélectionnée. |
|
Extrait l'ID de commande du contrôle de la barre de couleurs actuelle. |
|
Extrait la couleur qui signifie qu'un bouton de couleur a le focus ; autrement dit, le bouton est à chaud. |
|
Extrait la marge horizontale, qui est l'espace entre la cellule gauche ou droit de couleur et la limite de zone cliente. |
|
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. |
|
Indique si la discrimination raciale actuelle est ancrable. |
|
Définit la couleur actuellement sélectionnée. |
|
Définit un nouveau nom pour une couleur spécifiée. |
|
Définit un nouvel ID de commande pour un contrôle de la barre de couleurs. |
|
Définit la liste de couleurs utilisées dans le document actif. |
|
Définit la marge horizontale, qui est l'espace entre la cellule gauche ou droit de couleur et la limite de zone cliente. |
|
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 |
---|---|
Ajuste les positions des boutons de couleur sur le contrôle de la barre de couleurs. |
|
Indique si l'étiquette de texte des boutons de couleur peut changer. |
|
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. |
|
Appelé par l'infrastructure dans le cadre de le processus de calcul de disposition. |
|
Initalizes une palette des couleurs dans un tableau spécifié de couleurs. |
|
Calcule le nombre de lignes et de colonnes de la grille d'un contrôle de la barre de couleurs. |
|
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. |
|
Initialise un choix de couleurs avec les couleurs dans une palette spécifiée ou la palette par défaut du système. |
|
Appelé par l'infrastructure lorsqu'un utilisateur appuie sur un bouton de clavier. |
|
Appelé par l'infrastructure pour fermer une hiérarchie de contrôles instantanés. |
|
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. |
|
Ouvre une boîte de dialogue de couleur. |
|
Redessine complètement le contrôle de la barre de couleurs. |
|
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. |
|
Définit le membre protégée par m_pWndPropList au pointeur spécifié à un contrôle de grille des propriétés. |
|
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 :
Créez un bouton de menu normal et assignez -lui un ID, par exemple ID_CHAR_COLOR.
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).
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
Configuration requise
en-tête : afxcolorbar.h