Klasa CMFCColorButton
CMFCColorButton
Klasy klasy i CMFCColorBar są używane razem do implementowania kontrolki selektora kolorów.
Składnia
class CMFCColorButton : public CMFCButton
Elementy członkowskie
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 CList wartoś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
Ciąg CString