Sdílet prostřednictvím


CMFCColorButton – třída

Třídy CMFCColorButton TŘÍDY CMFCColorBar se používají společně k implementaci ovládacího prvku pro výběr barvy.

Syntaxe

class CMFCColorButton : public CMFCButton

Členové

Veřejné konstruktory

Jméno popis
CMFCColorButton::CMFCColorButton Vytvoří nový CMFCColorButton objekt.

Veřejné metody

Jméno popis
CMFCColorButton::EnableAutomaticButton Povolí a zakáže "automatické" tlačítko umístěné nad běžnými barevnými tlačítky. (Standardní automatické tlačítko systému je označené Automaticky.)
CMFCColorButton::EnableOtherButton Povolí a zakáže tlačítko "jiné", které je umístěné pod běžnými tlačítky barev. (Standardní systém "jiné" tlačítko je označeno Další barvy.)
CMFCColorButton::GetAutomaticColor Načte aktuální automatickou barvu.
CMFCColorButton::GetColor Načte barvu tlačítka.
CMFCColorButton::SetColor Nastaví barvu tlačítka.
CMFCColorButton::SetColorName Nastaví název barvy.
CMFCColorButton::SetColumnsNumber Nastaví počet sloupců v dialogovém okně pro výběr barvy.
CMFCColorButton::SetDocumentColors Určuje seznam barev specifických pro dokument, které se zobrazí v dialogovém okně pro výběr barev.
CMFCColorButton::SetPalette Určuje paletu standardních barev zobrazení.
CMFCColorButton::SizeToContent Změní velikost ovládacího prvku tlačítka v závislosti na jeho textu a velikosti obrázku.

Chráněné metody

Jméno popis
CMFCColorButton::IsDrawXPTheme Určuje, zda je aktuální barevné tlačítko zobrazeno ve vizuálním stylu systému Windows XP.
CMFCColorButton::OnDraw Volá se rozhraním pro zobrazení obrázku tlačítka.
CMFCColorButton::OnDrawBorder Volá se rozhraním, aby se zobrazilo ohraničení tlačítka.
CMFCColorButton::OnDrawFocusRect Zavolá se rozhraním pro zobrazení obdélníku fokusu, když má tlačítko fokus.
CMFCColorButton::OnShowColorPopup Volá se rozhraním, když se bude zobrazovat dialogové okno pro výběr barev.
CMFCColorButton::RebuildPalette Inicializuje m_pPalette chráněný datový člen na zadanou paletu nebo výchozí systémovou paletu.
CMFCColorButton::UpdateColor Volá se podle architektury, když uživatel vybere barvu z palety dialogového okna pro výběr barvy.

Datové členy

Jméno popis
m_bAltColorDlg Logická hodnota. Pokud je true, rozhraní zobrazí CMFCColorDialog barevné dialogové okno při kliknutí na druhé tlačítko nebo pokud NEPRAVDA, systémové barvy dialogové okno. Výchozí hodnota je PRAVDA. Další informace naleznete v tématu CMFCColorButton::EnableOtherButton.
m_bAutoSetFocus Logická hodnota. Pokud je hodnota TRUE, architektura nastaví fokus v nabídce barev, když se nabídka zobrazí, nebo pokud NEPRAVDA fokus nezmění. Výchozí hodnota je PRAVDA.
CMFCColorButton::m_bEnabledInCustomizeMode Určuje, jestli je pro tlačítko barvy povolený režim přizpůsobení.
m_Color Hodnota COLORREF. Obsahuje aktuálně vybranou barvu.
m_ColorAutomatic Hodnota COLORREF. Obsahuje aktuálně vybranou výchozí barvu.
m_Colors A CArray of COLORREF values. Obsahuje aktuálně dostupné barvy.
m_lstDocColors A CList of COLORREF values. Obsahuje aktuální barvy dokumentu.
m_nColumns Celé číslo. Obsahuje počet sloupců, které se mají zobrazit v mřížce barev v nabídce výběru barev.
m_pPalette Ukazatel na CPalette. Obsahuje barvy, které jsou k dispozici v aktuální nabídce výběru barev.
m_pPopup Ukazatel na OBJEKT CMFCColorPopupMenu Class . Nabídka výběru barev, která se zobrazí po kliknutí na tlačítko barvy.
m_strAutoColorText Řetězec. Popisek tlačítka "automaticky" v nabídce výběru barev.
m_strDocColorsText Řetězec. Popisek tlačítka v nabídce výběru barev, která zobrazuje barvy dokumentu.
m_strOtherText Řetězec. Popisek tlačítka "jiný" v nabídce výběru barev.

Poznámky

Ve výchozím nastavení se CMFCColorButton třída chová jako tlačítko, které otevře dialogové okno pro výběr barvy. Dialogové okno pro výběr barvy obsahuje pole malých barevných tlačítek a tlačítko "jiné", které zobrazuje vlastní výběr barvy. (Standardní systém "jiné" tlačítko je označeno Další barvy.) Když uživatel vybere novou barvu, CMFCColorButton objekt odráží změnu a zobrazí vybranou barvu.

Vytvořte ovládací prvek barevného tlačítka buď přímo v kódu, nebo pomocí nástroje ClassWizard a šablony dialogového okna. Pokud vytvoříte ovládací prvek barevného tlačítka přímo, přidejte do aplikace proměnnou CMFCColorButton a pak volejte konstruktor a Create metody objektu CMFCColorButton . Pokud použijete ClassWizard, přidejte do aplikace proměnnou CButton a potom změňte typ proměnné z CButton na CMFCColorButton.

Dialogové okno pro výběr barev ( CMFCColorBar Třída) je zobrazen CMFCColorButton::OnShowColorPopup metoda při volání rozhraní obslužné rutiny OnLButtonDown události. CMFCColorButton::OnShowColorPopup metoda lze přepsat pro podporu vlastního výběru barev.

Objekt CMFCColorButton oznámí nadřazené objektu, že se barva mění odesláním WM_COMMAND | BN_CLICKED oznámení. Nadřazený objekt používá CMFCColorButton::GetColor metoda načtení aktuální barvy.

Příklad

Následující příklad ukazuje, jak nakonfigurovat barevné tlačítko pomocí různých metod ve CMFCColorButton třídě. Metody nastaví barvu barevného tlačítka a jeho počet sloupců a povolí automatické a ostatní tlačítka. Tento příklad je součástí ukázky stavového řádku.

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

Požadavky

Hlavička: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

Vytvoří nový CMFCColorButton objekt.

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

Povolte nebo zakažte tlačítko automatického ovládacího prvku pro výběr barvy a nastavte automatickou (výchozí) barvu.

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

Parametry

lpszLabel
[v] Určuje text automatického tlačítka.

colorAutomatic
[v] Hodnota RGB, která určuje výchozí barvu automatického tlačítka.

bEnable
[v] Určuje, jestli je automatické tlačítko povolené nebo zakázané.

Poznámky

CMFCColorButton::EnableOtherButton

Povolte nebo zakažte tlačítko "jiné", které se zobrazuje pod běžnými tlačítky barev.

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

Parametry

lpszLabel
[v] Určuje text tlačítka.

bAltColorDlg
[v] Určuje, zda se otevře dialogové okno CMFCColorDialog nebo dialogové okno barvy systému, když uživatel klikne na tlačítko.

bEnable
[v] Určuje, jestli je povolené nebo zakázané tlačítko "jiné".

Poznámky

Kliknutím na tlačítko "jiný" zobrazíte dialogové okno barvy. Pokud je parametr bAltColorDlg TRUE, zobrazí se CMFCColorDialog – třída. V opačném případě se zobrazí dialogové okno barvy systému.

CMFCColorButton::GetAutomaticColor

Načte aktuální automatickou (výchozí) barvu.

COLORREF GetAutomaticColor() const;

Vrácená hodnota

Hodnota RGB představující aktuální automatickou barvu.

Poznámky

Aktuální automatická barva je nastavena CMFCColorButton::EnableAutomaticButton metoda.

CMFCColorButton::GetColor

Načte aktuálně vybranou barvu.

COLORREF GetColor() const;

Vrácená hodnota

Hodnota RGB.

Poznámky

CMFCColorButton::IsDrawXPTheme

Určuje, zda je aktuální barevné tlačítko zobrazeno ve vizuálním stylu systému Windows XP.

BOOL IsDrawXPTheme() const;

Vrácená hodnota

TRUE pokud jsou podporovány vizuální styly a aktuální barevné tlačítko je zobrazeno ve vizuálním stylu systému Windows XP; jinak NEPRAVDA.

CMFCColorButton::m_bEnabledInCustomizeMode

Nastaví barevné tlačítko na režim přizpůsobení.

BOOL m_bEnabledInCustomizeMode;

Poznámky

Pokud potřebujete přidat barevné tlačítko na stránku dialogového okna pro přizpůsobení (nebo povolit uživateli, aby během přizpůsobení udělal další výběr barvy), povolte tlačítko nastavením člena m_bEnabledInCustomizeMode na HODNOTU TRUE. Ve výchozím nastavení je tento člen nastaven na HODNOTU FALSE.

CMFCColorButton::OnDraw

Zavolá se rozhraním pro vykreslení obrázku tlačítka.

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

Parametry

Pdc
[v] Odkazuje na kontext zařízení, který se používá k vykreslení obrázku tlačítka.

Rect
[v] Obdélník, který ohraničuje tlačítko.

uiState
[v] Určuje vizuální stav tlačítka.

Poznámky

Tuto metodu přepište tak, aby se přizpůsobil proces vykreslování.

CMFCColorButton::OnDrawBorder

Volá se rozhraním, aby se zobrazilo ohraničení tlačítka.

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

Parametry

Pdc
[v] Odkazuje na kontext zařízení použitý k vykreslení ohraničení.

rectClient
[v] Obdélník v kontextu zařízení, který je určen parametrem pDC , který definuje hranice tlačítka, které se mají nakreslit.

uiState
[v] Určuje vizuální stav tlačítka.

Poznámky

Přepište tuto funkci tak, aby přizpůsobila vzhled ohraničení barevného tlačítka.

CMFCColorButton::OnDrawFocusRect

Zavolá se rozhraním pro zobrazení obdélníku fokusu, když má tlačítko fokus.

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

Parametry

Pdc
[v] Odkazuje na kontext zařízení použitý k vykreslení obdélníku fokusu.

rectClient
[v] Obdélník v kontextu zařízení určený parametrem pDC , který definuje hranice tlačítka.

Poznámky

Přepsat tuto metodu přizpůsobení vzhledu obdélníku fokusu.

CMFCColorButton::OnShowColorPopup

Volá se před zobrazením automaticky otevíraného panelu barev.

virtual void OnShowColorPopup();

Poznámky

CMFCColorButton::RebuildPalette

Inicializuje m_pPalette chráněný datový člen na zadanou paletu nebo výchozí systémovou paletu.

void RebuildPalette(CPalette* pPal);

Parametry

pPal
[v] Ukazatel na logickou paletu nebo hodnotu NULL. Pokud je hodnota NULL, použije se výchozí systémová paleta.

CMFCColorButton::SetColor

Určuje barvu tlačítka.

void SetColor(COLORREF color);

Parametry

Barev
[v] Hodnota RGB.

Poznámky

CMFCColorButton::SetColorName

Určuje název barvy.

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

Parametry

Barev
[v] Hodnota RGB barvy.

strName
[v] Název barvy.

Poznámky

Seznam názvů barev je globální pro každou aplikaci. V důsledku toho tato metoda přenese své parametry do CMFCColorBar::SetColorName.

CMFCColorButton::SetColumnsNumber

Definuje počet sloupců zobrazených v tabulce barev, které se uživateli zobrazí během procesu výběru barev uživatele.

void SetColumnsNumber(int nColumns);

Parametry

nSloupce
[v] Určuje počet sloupců.

Poznámky

Uživatel může vybrat barvu z automaticky otevíraného panelu barev, který zobrazuje tabulku předdefinovaných barev. Tato metoda slouží k definování počtu sloupců v tabulce.

CMFCColorButton::SetDocumentColors

Určuje sadu barev a název sady. Sada barev se zobrazí pomocí CMFCColorBar Class objektu.

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

Parametry

lpszLabel
[v] Určuje popisek, který se má zobrazit pomocí sady barev dokumentu.

lstColors
[v] Odkaz na seznam hodnot RGB.

Poznámky

Objekt CMFCColorButton udržuje seznam hodnot RGB, které jsou přeneseny do OBJEKTU CMFCColorBar Class . Při zobrazení barevného pruhu se tyto barvy zobrazí ve speciální části, jejíž popisek je určen parametrem lpszLabel .

CMFCColorButton::SetPalette

Určuje standardní barvy, které se mají zobrazit na automaticky otevíraném panelu barev.

void SetPalette(CPalette* pPalette);

Parametry

pPalette
[v] Ukazatel na paletu barev.

Poznámky

CMFCColorButton::SizeToContent

Změní velikost ovládacího prvku tlačítka tak, aby odpovídal textu a obrázku.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parametry

bCalcOnly
[v] Pokud není nula, vypočítá se nová velikost ovládacího prvku tlačítka, ale skutečná velikost se nezmění.

Vrácená hodnota

Objekt CSize , který určuje novou velikost ovládacího prvku tlačítka.

Poznámky

CMFCColorButton::UpdateColor

Volá se podle architektury, když uživatel vybere barvu z barevného pruhu, který se zobrazí, když uživatel klikne na tlačítko barvy.

virtual void UpdateColor(COLORREF color);

Parametry

Barev
[v] Barva vybraná uživatelem

Poznámky

Funkce UpdateColor změní barvu aktuálně vybraného tlačítka a upozorní její nadřazenou zprávu odesláním WM_COMMAND zprávy se standardním oznámením BN_CLICKED. Pomocí CMFCColorButton::GetColor metoda načíst vybranou barvu.

Viz také

Graf hierarchie
Třídy
CMFCButton – třída
CMFCColorBar – třída
CMFCColorButton::OnShowColorPopup
COLORREF
CPalette – třída
CArray – třída
CList – třída
Cstring