CMFCRibbonColorButton – třída
Třída CMFCRibbonColorButton
implementuje barevné tlačítko, které můžete přidat na pás karet. Na tlačítku barva pásu karet se zobrazí rozevírací nabídka, která obsahuje jednu nebo více barevných palet.
Syntaxe
class CMFCRibbonColorButton : public CMFCRibbonGallery
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CMFCRibbonColorButton::CMFCRibbonColorButton |
Veřejné metody
Poznámky
Tlačítko barva pásu karet zobrazí panel barev, když ho uživatel stiskne. Ve výchozím nastavení obsahuje tento panel barev paletu výběru, která se nazývá běžná oblast barev. Volitelně může panel barev zobrazit automatické tlačítko, které uživateli umožňuje vybrat výchozí barvu a tlačítko Další, které zobrazuje místní paletu barev, která obsahuje další barvy.
Příklad
Následující příklad ukazuje, jak používat různé metody ve CMFCRibbonColorButton
třídě. Příklad ukazuje, jak vytvořit CMFCRibbonColorButton
objekt, nastavit velký obrázek, povolit tlačítko Automaticky , povolit tlačítko Další , nastavit počet sloupců, nastavit velikost všech barevných prvků, které se zobrazí na panelu barev, přidat skupinu barev do běžné barevné oblasti a zadat seznam hodnot RGB, které se mají zobrazit v oblasti barev dokumentu. Tento fragment kódu je součástí ukázky Klienta kreslení.
// Create the "Paper Color" button
CMFCRibbonColorButton *pBtnPaperColor = new CMFCRibbonColorButton(ID_VIEW_PAPERCOLOR, _T("Paper Color\ng"), TRUE, 13, 1);
pBtnPaperColor->SetAlwaysLargeImage();
pBtnPaperColor->EnableAutomaticButton(_T("&Automatic"), RGB(255, 255, 255));
pBtnPaperColor->EnableOtherButton(_T("&More Colors..."), _T("More Colors"));
pBtnPaperColor->SetColumns(10);
pBtnPaperColor->SetColorBoxSize(CSize(17, 17));
// CList<COLORREF,COLORREF> m_lstMainColors
pBtnPaperColor->AddColorsGroup(_T("Theme Colors"), m_lstMainColors, TRUE);
// CList<COLORREF,COLORREF> m_lstAdditionalColors
pBtnPaperColor->AddColorsGroup(_T(""), m_lstAdditionalColors, FALSE);
// CList<COLORREF,COLORREF> m_lstStandardColors
pBtnPaperColor->AddColorsGroup(_T("Standard Colors"), m_lstStandardColors, TRUE);
CList<COLORREF, COLORREF> lstColors;
lstColors.AddTail(RGB(255, 0, 0));
lstColors.AddTail(RGB(0, 255, 0));
lstColors.AddTail(RGB(0, 0, 255));
pBtnPaperColor->SetDocumentColors(_T("Document Colors"), lstColors);
Hierarchie dědičnosti
Požadavky
Záhlaví: afxribboncolorbutton.h
CMFCRibbonColorButton::AddColorsGroup
Přidá skupinu barev do oblasti běžných barev.
void AddColorsGroup(
LPCTSTR lpszName,
const CList<COLORREF,COLORREF>& lstColors,
BOOL bContiguousColumns=FALSE);
Parametry
lpszName
[v] Název skupiny.
lstColors
[v] Seznam barev.
bContiguousColumns
[v] Určuje, jak se ve skupině zobrazují barevné položky. Pokud je hodnota TRUE, barevné položky se vykreslují bez svislého mezery. Pokud je hodnota FALSE, barevné položky se nakreslí svislým řádkováním.
Poznámky
Pomocí této funkce můžete nastavit, aby se v automaticky otevíraném okně zobrazovala několik skupin barev. Můžete určit, jak se barvy zobrazují ve skupině.
CMFCRibbonColorButton::CMFCRibbonColorButton
CMFCRibbonColorButton
Vytvoří objekt.
CMFCRibbonColorButton();
CMFCRibbonColorButton(
UINT nID,
LPCTSTR lpszText,
int nSmallImageIndex,
COLORREF color = RGB(0, 0, 0));
CMFCRibbonColorButton(
UINT nID,
LPCTSTR lpszText,
BOOL bSimpleButtonLook,
int nSmallImageIndex,
int nLargeImageIndex,
COLORREF color = RGB(0, 0, 0));
Parametry
Nid
[v] Určuje ID příkazu, které se má spustit, když uživatel klikne na tlačítko.
lpszText
[v] Určuje text, který se má zobrazit na tlačítku.
nSmallImageIndex
[v] Index malého obrázku založený na nule, který se zobrazí na tlačítku.
barva
[v] Barva tlačítka (výchozí hodnota je černá).
bSimpleButtonLook
[v] Pokud je pravda, tlačítko se nakreslí jako jednoduchý obdélník.
nLargeImageIndex
[v] Index velkého obrázku založený na nule, který se zobrazí na tlačítku.
Návratová hodnota
Poznámky
CMFCRibbonColorButton::EnableAutomaticButton
Určuje, jestli je povolené automatické tlačítko.
void EnableAutomaticButton(
LPCTSTR lpszLabel,
COLORREF colorAutomatic,
BOOL bEnable=TRUE,
LPCTSTR lpszToolTip=NULL,
BOOL bOnTop=TRUE,
BOOL bDrawBorder=FALSE);
Parametry
lpszLabel
[v] Popisek tlačítka Automaticky .
colorAutomatic
[v] Hodnota RGB, která určuje výchozí barvu tlačítka Automaticky .
bEnable
[v] TRUE, pokud je povoleno automatické tlačítko; NEPRAVDA, pokud je zakázaná.
lpszToolTip
[v] Popis tlačítka Automaticky .
bOnTop
[v] Určuje, zda je tlačítko Automaticky nahoře před paletou barev.
bDrawBorder
[v] TRUE, pokud aplikace nakreslí ohraničení kolem barevného pruhu na tlačítku barva pásu karet. Panel barev zobrazuje aktuálně vybranou barvu. NEPRAVDA, pokud aplikace nenakreslí ohraničení
CMFCRibbonColorButton::EnableOtherButton
Povolí tlačítko Další.
void EnableOtherButton(
LPCTSTR lpszLabel,
LPCTSTR lpszToolTip=NULL);
Parametry
lpszLabel
Popisek tlačítka.
lpszToolTip
Text popisu tlačítka Další
Poznámky
The Other button is the button that is displayed below the group of colors. Když uživatel klikne na tlačítko Další , zobrazí se dialogové okno barvy.
CMFCRibbonColorButton::GetAutomaticColor
Načte aktuální barvu automatického tlačítka.
COLORREF GetAutomaticColor() const;
Návratová hodnota
Hodnota barvy RGB, která představuje aktuální barvu automatického tlačítka.
Poznámky
Barva automatického tlačítka je nastavena parametrem předaný colorAutomatic
metodě CMFCRibbonColorButton::EnableAutomaticButton
.
CMFCRibbonColorButton::GetColor
Vrátí aktuálně vybranou barvu.
COLORREF GetColor() const;
Návratová hodnota
Barva vybraná kliknutím na tlačítko.
CMFCRibbonColorButton::GetColorBoxSize
Vrátí velikost barevných prvků, které se zobrazují na panelu barev.
CSize GetColorBoxSize() const;
Návratová hodnota
Velikost barevných tlačítek v rozevírací paletě barev.
CMFCRibbonColorButton::GetColumns
Získá počet položek v řádku zobrazení galerie barev pásu karet.
int GetColumns() const;
Návratová hodnota
Vrátí počet ikon v každém řádku.
Poznámky
CMFCRibbonColorButton::GetHighlightedColor
Vrátí barvu aktuálně vybraného prvku na místní paletě barev.
COLORREF GetHighlightedColor() const;
Návratová hodnota
Barva aktuálně vybraného prvku na místní paletě barev.
CMFCRibbonColorButton::RemoveAllColorGroups
Odebere všechny skupiny barev z oblasti běžných barev.
void RemoveAllColorGroups();
CMFCRibbonColorButton::SetColor
Vybere barvu z oblasti s normální barvou.
void SetColor(COLORREF color);
Parametry
barva
[v] Barva, která se má nastavit.
CMFCRibbonColorButton::SetColorBoxSize
Nastaví velikost všech barevných prvků, které se zobrazí na panelu barev.
void SetColorBoxSize(CSize sizeBox);
Parametry
sizeBox
[v] Nová velikost barevných tlačítek v paletě barev.
CMFCRibbonColorButton::SetColorName
Nastaví nový název pro zadanou barvu.
static void __stdcall SetColorName(
COLORREF color,
const CString& strName);
Parametry
barva
[v] Hodnota RGB barvy.
strName
[v] Nový název pro zadanou barvu.
Poznámky
Vzhledem k tomu, že volá CMFCColorBar::SetColorName
, tato metoda změní název zadané barvy ve všech CMFCColorBar
objektech v aplikaci.
CMFCRibbonColorButton::SetColumns
Nastaví počet sloupců zobrazených v tabulce barev, které se uživateli zobrazí během procesu výběru barev uživatele.
void SetColumns(int nColumns);
Parametry
nSloupce
[v] Počet barevných ikon, které se mají zobrazit v každém řádku.
Poznámky
CMFCRibbonColorButton::SetDocumentColors
Určuje seznam hodnot RGB, které se mají zobrazit v oblasti barev dokumentu.
void SetDocumentColors(
LPCTSTR lpszLabel,
CList<COLORREF,COLORREF>& lstColors);
Parametry
lpszLabel
[v] Text, který se má zobrazit pomocí barev dokumentu.
lstColors
[v] Odkaz na seznam hodnot RGB.
CMFCRibbonColorButton::SetPalette
Určuje standardní barvy, které se mají zobrazit v tabulce barev, které se zobrazí na tlačítku barva.
void SetPalette(CPalette* pPalette);
Parametry
pPalette
[v] Ukazatel na paletu barev.
Poznámky
CMFCRibbonColorButton::UpdateColor
Volá se rozhraním, když uživatel vybere barvu ze zobrazené barevné tabulky, když uživatel klikne na tlačítko barvy.
void UpdateColor(COLORREF color);
Parametry
barva
[v] Barva vybraná uživatelem
Poznámky
Metoda CMFCRibbonColorButton::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. K načtení vybrané barvy použijte CMFCRibbonColorButton::GetColor metoda.