Klasa CMFCColorButton

CMFCColorButton Klasy klasy i CMFCColorBar są używane razem do implementowania kontrolki selektora kolorów.

Składnia

class CMFCColorButton : public CMFCButton

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCColorButton::CMFCColorButton Tworzy nowy CMFCColorButton obiekt.

Metody publiczne

Nazwa/nazwisko opis
CMFCColorButton::EnableAutomaticButton Włącza i wyłącza przycisk "automatyczny", który znajduje się powyżej zwykłych przycisków kolorów. (Standardowy przycisk automatyczny systemu jest oznaczony etykietą Automatyczne.)
CMFCColorButton::EnableOtherButton Włącza i wyłącza przycisk "inny" umieszczony poniżej zwykłych przycisków kolorów. (Standardowy przycisk "inny" system jest oznaczony etykietą Więcej kolorów).
CMFCColorButton::GetAutomaticColor Pobiera bieżący kolor automatyczny.
CMFCColorButton::GetColor Pobiera kolor przycisku.
CMFCColorButton::SetColor Ustawia kolor przycisku.
CMFCColorButton::SetColorName Ustawia nazwę koloru.
CMFCColorButton::SetColumnsNumber Ustawia liczbę kolumn w oknie dialogowym selektora kolorów.
CMFCColorButton::SetDocumentColors Określa listę kolorów specyficznych dla dokumentu, które są wyświetlane w oknie dialogowym selektora kolorów.
CMFCColorButton::SetPalette Określa paletę standardowych kolorów wyświetlania.
CMFCColorButton::SizeToContent Zmienia rozmiar kontrolki przycisku w zależności od rozmiaru tekstu i obrazu.

Metody chronione

Nazwa/nazwisko opis
CMFCColorButton::IsDrawXPTheme Wskazuje, czy bieżący przycisk koloru jest wyświetlany w stylu wizualnym systemu Windows XP.
CMFCColorButton::OnDraw Wywoływana przez strukturę w celu wyświetlenia obrazu przycisku.
CMFCColorButton::OnDrawBorder Wywoływana przez strukturę w celu wyświetlenia obramowania przycisku.
CMFCColorButton::OnDrawFocusRect Wywoływana przez strukturę w celu wyświetlenia prostokąta fokusu, gdy przycisk ma fokus.
CMFCColorButton::OnShowColorPopup Wywoływana przez strukturę, gdy okno dialogowe selektora kolorów ma być wyświetlane.
CMFCColorButton::RebuildPalette Inicjuje m_pPalette chroniony element członkowski danych do określonej palety lub domyślnej palety systemowej.
CMFCColorButton::UpdateColor Wywoływana przez platformę, gdy użytkownik wybierze kolor z palety okna dialogowego selektora kolorów.

Składowe danych

Nazwa/nazwisko opis
m_bAltColorDlg Wartość logiczna. Jeśli wartość TRUE, platforma wyświetla okno dialogowe koloru CMFCColorDialog po kliknięciu drugiego przycisku lub jeśli fałsz, okno dialogowe kolor systemu. Wartość domyślna to TRUE. Aby uzyskać więcej informacji, zobacz CMFCColorButton::EnableOtherButton.
m_bAutoSetFocus Wartość logiczna. Jeśli wartość TRUE, platforma ustawia fokus na menu kolorów, gdy menu jest wyświetlane lub jeśli fałsz, nie zmienia fokusu. Wartość domyślna to TRUE.
CMFCColorButton::m_bEnabledInCustomizeMode Wskazuje, czy tryb dostosowywania jest włączony dla przycisku koloru.
m_Color Wartość COLORREF. Zawiera aktualnie wybrany kolor.
m_ColorAutomatic Wartość COLORREF. Zawiera aktualnie wybrany kolor domyślny.
m_Colors CArray wartości COLORREF. Zawiera aktualnie dostępne kolory.
m_lstDocColors Lista CListwartości COLORREF . Zawiera bieżące kolory dokumentu.
m_nColumns Całkowitą. Zawiera liczbę kolumn do wyświetlenia w siatce kolorów w menu wyboru kolorów.
m_pPalette Wskaźnik do CPalette. Zawiera kolory, które są dostępne w bieżącym menu wyboru kolorów.
m_pPopup Wskaźnik do obiektu klasy CMFCColorPopupMenu. Menu wyboru kolorów wyświetlane po kliknięciu przycisku koloru.
m_strAutoColorText Ciąg. Etykieta przycisku "automatyczny" w menu wyboru kolorów.
m_strDocColorsText Ciąg. Etykieta przycisku w menu wyboru kolorów, które wyświetla kolory dokumentu.
m_strOtherText Ciąg. Etykieta przycisku "inne" w menu wyboru kolorów.

Uwagi

Domyślnie klasa zachowuje się jako przycisk wypychania, CMFCColorButton który otwiera okno dialogowe selektora kolorów. Okno dialogowe selektora kolorów zawiera tablicę małych przycisków kolorów i przycisk "inny", który wyświetla niestandardowy selektor kolorów. (Standardowy przycisk "inny" system jest oznaczony etykietą Więcej kolorów). Gdy użytkownik wybierze nowy kolor, CMFCColorButton obiekt odzwierciedla zmianę i wyświetla wybrany kolor.

Utwórz kontrolkę przycisku koloru bezpośrednio w kodzie lub przy użyciu narzędzia ClassWizard i szablonu okna dialogowego. Jeśli tworzysz kontrolkę przycisku koloru bezpośrednio, dodaj zmienną CMFCColorButton do aplikacji, a następnie wywołaj konstruktor i Create metody CMFCColorButton obiektu. Jeśli używasz klasy ClassWizard, dodaj zmienną CButton do aplikacji, a następnie zmień typ zmiennej z CButton na CMFCColorButton.

Okno dialogowe selektora kolorów ( klasa CMFCColorBar) jest wyświetlane przez metodę CMFCColorButton::OnShowColorPopup , gdy struktura wywołuje OnLButtonDown procedurę obsługi zdarzeń. Metodę CMFCColorButton::OnShowColorPopup można zastąpić, aby obsługiwać wybór kolorów niestandardowych.

CMFCColorButton Obiekt powiadamia jego obiekt nadrzędny o zmianie koloru, wysyłając go WM_COMMAND | BN_CLICKED powiadomienia. Element nadrzędny używa metody CMFCColorButton::GetColor , aby pobrać bieżący kolor.

Przykład

W poniższym przykładzie pokazano, jak skonfigurować przycisk koloru przy użyciu różnych metod w CMFCColorButton klasie. Metody ustawiają kolor przycisku koloru i jego liczbę kolumn oraz włączają automatyczne i inne przyciski. Ten przykład jest częścią przykładu Pokaz paska stanu.

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);

Wymagania

Nagłówek: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

Tworzy nowy CMFCColorButton obiekt.

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

Włącz lub wyłącz przycisk "automatyczny" kontrolki selektora kolorów i ustaw automatyczny (domyślny) kolor.

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

Parametry

lpszLabel
[in] Określa tekst przycisku automatycznego.

colorAutomatic
[in] Wartość RGB określająca domyślny kolor przycisku automatycznego.

bEnable
[in] Określa, czy przycisk automatyczny jest włączony, czy wyłączony.

Uwagi

CMFCColorButton::EnableOtherButton

Włącz lub wyłącz przycisk "inne", który jest wyświetlany poniżej zwykłych przycisków kolorów.

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

Parametry

lpszLabel
[in] Określa tekst przycisku.

bAltColorDlg
[in] Określa, czy okno dialogowe CMFCColorDialog lub okno dialogowe koloru systemu jest otwierane po kliknięciu przycisku przez użytkownika.

bEnable
[in] Określa, czy przycisk "inny" jest włączony, czy wyłączony.

Uwagi

Kliknij przycisk "inne", aby wyświetlić okno dialogowe koloru. Jeśli parametr bAltColorDlg ma wartość TRUE, zostanie wyświetlona klasa CMFCColorDialog. W przeciwnym razie zostanie wyświetlone okno dialogowe koloru systemu.

CMFCColorButton::GetAutomaticColor

Pobiera bieżący kolor automatyczny (domyślny).

COLORREF GetAutomaticColor() const;

Wartość zwracana

Wartość RGB reprezentująca bieżący kolor automatyczny.

Uwagi

Bieżący kolor automatyczny jest ustawiany przez metodę CMFCColorButton::EnableAutomaticButton .

CMFCColorButton::GetColor

Pobiera aktualnie wybrany kolor.

COLORREF GetColor() const;

Wartość zwracana

Wartość RGB.

Uwagi

CMFCColorButton::IsDrawXPTheme

Wskazuje, czy bieżący przycisk koloru jest wyświetlany w stylu wizualnym systemu Windows XP.

BOOL IsDrawXPTheme() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli obsługiwane są style wizualizacji, a bieżący przycisk koloru jest wyświetlany w stylu wizualnym systemu Windows XP; w przeciwnym razie, FAŁSZ.

CMFCColorButton::m_bEnabledInCustomizeMode

Ustawia przycisk koloru na tryb dostosowywania.

BOOL m_bEnabledInCustomizeMode;

Uwagi

Jeśli musisz dodać przycisk koloru do strony okna dialogowego dostosowywania (lub zezwolić użytkownikowi na wybór innego koloru podczas dostosowywania), włącz przycisk, ustawiając m_bEnabledInCustomizeMode element członkowski na wartość TRUE. Domyślnie ten element członkowski ma wartość FALSE.

CMFCColorButton::OnDraw

Wywoływana przez platformę w celu renderowania obrazu przycisku.

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

Parametry

Pdc
[in] Wskazuje kontekst urządzenia używany do renderowania obrazu przycisku.

Rect
[in] Prostokąt, który jest powiązany z przyciskiem.

uiState
[in] Określa stan wizualny przycisku.

Uwagi

Zastąpi tę metodę, aby dostosować proces renderowania.

CMFCColorButton::OnDrawBorder

Wywoływana przez strukturę w celu wyświetlenia obramowania przycisku.

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

Parametry

Pdc
[in] Wskazuje kontekst urządzenia używany do rysowania obramowania.

rectClient
[in] Prostokąt w kontekście urządzenia określony przez parametr pDC , który definiuje granice przycisku do narysowania.

uiState
[in] Określa stan wizualny przycisku.

Uwagi

Zastąpij tę funkcję, aby dostosować wygląd obramowania przycisku koloru.

CMFCColorButton::OnDrawFocusRect

Wywoływana przez strukturę w celu wyświetlenia prostokąta fokusu, gdy przycisk ma fokus.

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

Parametry

Pdc
[in] Wskazuje kontekst urządzenia używany do rysowania prostokąta fokusu.

rectClient
[in] Prostokąt w kontekście urządzenia określony przez parametr pDC , który definiuje granice przycisku.

Uwagi

Zastąpij tę metodę, aby dostosować wygląd prostokąta fokusu.

CMFCColorButton::OnShowColorPopup

Wywołana przed wyświetleniem paska kolorów wyskakujących okienek.

virtual void OnShowColorPopup();

Uwagi

CMFCColorButton::RebuildPalette

Inicjuje m_pPalette chroniony element członkowski danych do określonej palety lub domyślnej palety systemowej.

void RebuildPalette(CPalette* pPal);

Parametry

pPal
[in] Wskaźnik do palety logicznej lub wartości NULL. W przypadku wartości NULL jest używana domyślna paleta systemowa.

CMFCColorButton::SetColor

Określa kolor przycisku.

void SetColor(COLORREF color);

Parametry

Kolor
[in] Wartość RGB.

Uwagi

CMFCColorButton::SetColorName

Określa nazwę koloru.

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

Parametry

Kolor
[in] Wartość RGB koloru.

strName
[in] Nazwa koloru.

Uwagi

Lista nazw kolorów jest globalna dla aplikacji. W związku z tym ta metoda przenosi parametry do cmFCColorBar::SetColorName.

CMFCColorButton::SetColumnsNumber

Definiuje liczbę kolumn wyświetlanych w tabeli kolorów prezentowanych użytkownikowi podczas procesu wyboru kolorów użytkownika.

void SetColumnsNumber(int nColumns);

Parametry

nKolumny
[in] Określa liczbę kolumn.

Uwagi

Użytkownik może wybrać kolor na pasku kolorów podręcznych, który wyświetla tabelę wstępnie zdefiniowanych kolorów. Użyj tej metody, aby zdefiniować liczbę kolumn w tabeli.

CMFCColorButton::SetDocumentColors

Określa zestaw kolorów i nazwę zestawu. Zestaw kolorów jest wyświetlany przy użyciu obiektu klasy CMFCColorBar.

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

Parametry

lpszLabel
[in] Określa etykietę, która ma być wyświetlana z zestawem kolorów dokumentu.

lstColors
[in] Odwołanie do listy wartości RGB.

Uwagi

Obiekt CMFCColorButton utrzymuje listę wartości RGB, które są przenoszone do obiektu klasy CMFCColorBar. Po wyświetleniu paska kolorów kolory są wyświetlane w specjalnej sekcji, której etykieta jest określona przez parametr lpszLabel .

CMFCColorButton::SetPalette

Określa standardowe kolory do wyświetlenia na pasku kolorów podręcznych.

void SetPalette(CPalette* pPalette);

Parametry

pPalette
[in] Wskaźnik do palety kolorów.

Uwagi

CMFCColorButton::SizeToContent

Zmienia rozmiar kontrolki przycisku, aby dopasować jej tekst i obraz.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parametry

bCalcOnly
[in] Jeśli kontrolka niezerowa, jest obliczany nowy rozmiar kontrolki przycisku, ale rzeczywisty rozmiar nie zostanie zmieniony.

Wartość zwracana

CSize Obiekt określający nowy rozmiar kontrolki przycisku.

Uwagi

CMFCColorButton::UpdateColor

Wywoływana przez platformę, gdy użytkownik wybierze kolor na pasku kolorów wyświetlanym po kliknięciu przycisku koloru przez użytkownika.

virtual void UpdateColor(COLORREF color);

Parametry

Kolor
[in] Kolor wybrany przez użytkownika.

Uwagi

Funkcja UpdateColor zmienia kolor aktualnie wybranego przycisku i powiadamia go o tym, wysyłając komunikat WM_COMMAND z powiadomieniem standardowym BN_CLICKED. Użyj metody CMFCColorButton::GetColor, aby pobrać wybrany kolor.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMFCButton
Klasa CMFCColorBar
CMFCColorButton::OnShowColorPopup
COLORREF
Klasa CPalette
Klasa CArray
Klasa CList
Cstring