CMFCRibbonGallery – třída
Implementuje galerie pásu karet ve stylu Office 2007. Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.
Syntaxe
class CMFCRibbonGallery : public CMFCRibbonButton
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CMFCRibbonGallery::CMFCRibbonGallery | Vytvoří a inicializuje CMFCRibbonGallery objekt. |
Veřejné metody
Chráněné metody
Název | Popis |
---|---|
CMFCRibbonGallery::OnDrawPaletteIcon | Volá se podle architektury při vykreslení ikony galerie. |
Poznámky
Tlačítko galerie se chová stejně jako běžné tlačítko nabídky s tím rozdílem, že zobrazuje galerii, když ho uživatel otevře. Když vyberete položku v galerii, rozhraní odešle zprávu WM_COMMAND společně s ID příkazu tlačítka. Při zpracování zprávy byste měli zavolat CMFCRibbonGallery::GetLastSelectedItem určit, která položka byla vybrána z galerie.
Příklad
Následující příklad ukazuje použití různých metod ve CMFCRibbonGallery
třídě ke konfiguraci objektu CMFCRibbonGallery
. Příklad ukazuje, jak zadat počet položek na řádek v galerii, povolit změnu velikosti panelu nabídek, povolit boční panel vlevo od místní nabídky a zobrazit galerii pásu karet jako paletu přímo na panelu karet. Tento fragment kódu je součástí ukázky Klienta kreslení.
CMFCRibbonGallery *pBtnStyles = new CMFCRibbonGallery(ID_OBJECT_STYLES, _T("Styles\nk"), 0, 0, IDB_STYLES, 40);
pBtnStyles->SetIconsInRow(7);
pBtnStyles->EnableMenuResize(TRUE, TRUE);
pBtnStyles->EnableMenuSideBar();
pBtnStyles->SetButtonMode(false);
pBtnStyles->RedrawIcons();
Hierarchie dědičnosti
Objekt CObject
└ CMFCRibbonBaseElement
└ CMFCRibbonButton
└ CMFCRibbonGallery
Požadavky
Hlavička: afxRibbonPaletteGallery.h
CMFCRibbonGallery::AddGroup
Přidá do galerie novou skupinu.
void AddGroup(
LPCTSTR lpszGroupName,
UINT uiImagesPaletteResID,
int cxPaletteImage);
void AddGroup(
LPCTSTR lpszGroupName,
CMFCToolBarImages& imagesGroup);
void AddGroup(
LPCTSTR lpszGroupName,
int nIconsNum);
Parametry
lpszGroupName
[v] Určuje název skupiny.
uiImagesPaletteResID
[v] Určuje ID prostředku seznamu imagí, které obsahuje obrázky pro skupinu.
cxPaletteImage
[v] Určuje šířku v pixelech obrázku.
imagesGroup
[v] Odkaz na seznam obrázků, který obsahuje seskupit obrázky.
nIconsNum
[v] Určuje počet ikon ve skupině. Tento parametr by měl být zadán pouze pro vlastní skupiny (nakreslené vlastníky).
Poznámky
Položky v galerii pásu karet můžete rozdělit do několika skupin voláním této metody. Každá skupina může mít titulek.
CMFCRibbonGallery::AddSubItem
Přidá novou položku nabídky do rozevírací nabídky.
void AddSubItem(
CMFCRibbonBaseElement* pSubItem,
int nIndex=-1,
BOOL bOnTop=FALSE);
Parametry
pSubItem
[v] Ukazatel na položku, kterou chcete přidat do nabídky.
nIndex
[v] Určuje index založený na nule umístění, kam chcete položku vložit.
bOnTop
[v] PRAVDA, aby bylo možné určit, že položka by měla být vložena před galerii pásu karet; jinak NEPRAVDA.
Poznámky
Místní galerie můžete kombinovat s položkami místní nabídky voláním této metody. Položky nabídky lze umístit před nebo za galerii.
Chcete-li vložit položku před galerii, nastavte bOnTop na HODNOTU TRUE. Pokud chcete vložit položku pod galerii, nastavte bOnTop na HODNOTU FALSE.
Poznámka:
Parametr nIndex určuje index vložení jak v horní části galerie, tak v dolní části galerie. Pokud například potřebujete vložit položku o jednu pozici před galerii, nastavte nIndex na hodnotu 1 a bOnTop na HODNOTU TRUE. Podobně pokud potřebujete vložit položku o jednu pozici pod galerii, nastavte nIndex na hodnotu 1 a bOnTop na FALSE.
CMFCRibbonGallery::Clear
Vymaže obsah galerie.
virtual void Clear();
Poznámky
Voláním této metody odeberete veškerý obsah z galerie pásu karet. Musíte to udělat, než připojíte novou galerii pásu karet nebo sadu skupin do galerie pásu karet.
CMFCRibbonGallery::CMFCRibbonGallery
Vytvoří a inicializuje CMFCRibbonGallery objekt.
CMFCRibbonGallery (
UINT nID,
LPCTSTR lpszText,
int nSmallImageIndex,
int nLargeImageIndex,
CMFCToolBarImages& imagesPalette);
CMFCRibbonGallery (
UINT nID,
LPCTSTR lpszText,
int nSmallImageIndex,
int nLargeImageIndex,
UINT uiImagesPaletteResID=0,
int cxPaletteImage=0);
CMFCRibbonGallery (
UINT nID,
LPCTSTR lpszText,
int nSmallImageIndex,
int nLargeImageIndex,
CSize sizeIcon,
int nIconsNum,
BOOL bDefaultButtonStyle=TRUE);
Parametry
Nid
Určuje ID příkazu, které se má spustit, když uživatel klikne na tlačítko.
lpszText
Určuje text, který se má zobrazit na tlačítku.
nSmallImageIndex
Index malého obrázku založený na nule, který se zobrazí na tlačítku.
nLargeImageIndex
Index velkého obrázku založený na nule, který se zobrazí na tlačítku.
imagesPalette
Odkaz na CMFCToolBarImages objekt, který obsahuje obrázky, které se zobrazí v galerii.
uiImagesPaletteResID
ID prostředku seznamu obrázků, které se mají zobrazit v galerii.
cxPaletteImage
Určuje šířku obrázku v pixelech v galerii.
sizeIcon
Určuje velikost obrázku galerie v pixelech.
nIconsNum
Určuje počet ikon v galerii.
bDefaultButtonStyle
Určuje, jestli se má použít výchozí nebo styl tlačítka nakreslený vlastníkem.
Poznámky
CMFCRibbonGallery::EnableMenuResize
Povolí nebo zakáže změnu velikosti panelu nabídek.
void EnableMenuResize(
BOOL bEnable = TRUE,
BOOL bVertcalOnly = FALSE);
Parametry
bEnable
[v] TRUE pro povolení změny velikosti nabídky; jinak NEPRAVDA.
bVertcalOnly
[v] PRAVDA, pokud chcete určit, že galerii lze změnit pouze svisle; NEPRAVDA, pokud chcete určit, že galerii lze změnit svisle i vodorovně.
Poznámky
Tuto metodu použijte k povolení nebo zakázání změny velikosti galerie pásu karet. Po povolení změny velikosti se v galerii pásu karet zobrazí úchyt, který může uživatel použít ke změně velikosti.
CMFCRibbonGallery::EnableMenuSideBar
Povolí nebo zakáže boční panel vlevo od místní nabídky.
void EnablMenuSideBar(BOOL bEnable=TRUE);
Parametry
bEnable
[v] PRAVDA, pokud chcete určit, že boční panel je povolen; jinak NEPRAVDA.
Poznámky
Voláním této metody povolíte nebo zakážete boční panel ve stylu Office XP na levé straně nabídky.
CMFCRibbonGallery::GetCompactSize
virtual CSize GetCompactSize(CDC* pDC);
Parametry
[v] pDC
Návratová hodnota
Poznámky
CMFCRibbonGallery::GetDroppedDown
virtual CMFCRibbonBaseElement* GetDroppedDown();
Návratová hodnota
Poznámky
CMFCRibbonGallery::GetGroupName
Vrátí název skupiny, která se nachází v zadaném indexu.
LPCTSTR GetGroupName(int nGroupIndex) const;
Parametry
nGroupIndex
[v] Určuje index založený na nule pro skupinu, jejíž název chcete načíst.
Návratová hodnota
Název skupiny umístěné v zadaném indexu. Předání neplatného indexu způsobí neúspěšný kontrolní výraz.
Poznámky
CMFCRibbonGallery::GetGroupOffset
virtual int GetGroupOffset() const;
Návratová hodnota
Poznámky
CMFCRibbonGallery::GetIconsInRow
Vrátí počet položek v řádku galerie pásu karet.
int GetIconsInRow() const;
Návratová hodnota
Počet položek v řádku
Poznámky
CMFCRibbonGallery::GetItemToolTip
Vrátí text popisu, který je přidružený k položce v galerii.
LPCTSTR GetItemToolTip(int nItemIndex) const;
Parametry
nItemIndex
[v] Určuje nulový index položky, pro kterou se má načíst text popisu.
Návratová hodnota
Ukazatel na řetězec popisu přiřazený k položce v galerii pásu karet Pokud k této položce není přiřazen žádný popis, může mít hodnotu NULL.
Poznámky
CMFCRibbonGallery::GetLastSelectedItem
Vrátí index poslední položky v galerii pásu karet, kterou uživatel vybral.
static int GetLastSelectedItem(UINT uiCmdID);
Parametry
uiCmdID
[v] Určuje ID příkazu položky nabídky, která otevřela galerii pásu karet.
Návratová hodnota
Když uživatel vybere libovolnou položku v galerii pásu karet, knihovna odešle zprávu WM_COMMAND spolu s ID příkazu tlačítka nabídky, které otevřela galerii pásu karet.
Poznámky
CMFCRibbonGallery::GetPaletteID
Vrátí ID příkazu aktuální palety.
int GetPaletteID() const;
Návratová hodnota
ID příkazu aktuálně vybrané palety.
Poznámky
CMFCRibbonGallery::GetRegularSize
virtual CSize GetRegularSize(CDC* pDC);
Parametry
[v] pDC
Návratová hodnota
Poznámky
CMFCRibbonGallery::GetSelectedItem
int GetSelectedItem() const;
Návratová hodnota
Poznámky
CMFCRibbonGallery::HasMenu
virtual BOOL HasMenu() const;
Návratová hodnota
Poznámky
CMFCRibbonGallery::IsButtonMode
Určuje, jestli je paleta obsažena v tlačítku galerie.
BOOL IsButtonMode() const;
Návratová hodnota
TRUE, pokud se paleta zobrazí jako tlačítko rozevírací nabídky; NEPRAVDA, pokud se paleta zobrazí přímo na pásu karet.
Poznámky
CMFCRibbonGallery::IsMenuResizeEnabled
Určuje, jestli je povolená změna velikosti nabídky.
BOOL IsMenuResizeEnabled() const;
Návratová hodnota
TRUE, pokud byla povolena změna velikosti nabídky; jinak NEPRAVDA.
Poznámky
CMFCRibbonGallery::IsMenuResizeVertical
BOOL IsMenuResizeVertical() const;
Návratová hodnota
Poznámky
CMFCRibbonGallery::IsMenuSideBar
Určuje, jestli je boční panel povolený nebo zakázaný.
BOOL IsMenuSideBar() const;
Návratová hodnota
TRUE, pokud je boční panel ve stylu Office XP nakreslen na levé straně místní nabídky; jinak NEPRAVDA.
Poznámky
CMFCRibbonGallery::OnAfterChangeRect
virtual void OnAfterChangeRect(CDC* pDC);
Parametry
[v] pDC
Poznámky
CMFCRibbonGallery::OnDraw
virtual void OnDraw(CDC* pDC);
Parametry
[v] pDC
Poznámky
CMFCRibbonGallery::OnDrawPaletteIcon
Volá se podle architektury při vykreslení ikony galerie.
virtual void OnDrawPaletteIcon(
CDC* pDC,
CRect rectIcon,
int nIconIndex,
CMFCRibbonGalleryIcon* pIcon,
COLORREF clrText);
Parametry
pDC
[v] Ukazatel na kontext zařízení, který se používá pro kreslení.
rectIcon
[v] Určuje ohraničující obdélník ikony, který se má nakreslit.
nIconIndex
[v] Určuje index založený na nule v seznamu obrázků ikon galerie, které se mají nakreslit.
pIcon
[v] Ukazatel na ikonu, která je nakreslená.
clrText
[v] Určuje barvu textu položky, která se má nakreslit.
Poznámky
Tuto metodu můžete přepsat v odvozené třídě a přizpůsobit tak vzhled galerie pásu karet.
CMFCRibbonGallery::OnEnable
virtual void OnEnable(BOOL bEnable);
Parametry
[v] bEnable
Poznámky
CMFCRibbonGallery::OnRTLChanged
virtual void OnRTLChanged(BOOL bIsRTL);
Parametry
[v] bIsRTL
Poznámky
CMFCRibbonGallery::RedrawIcons
Překreslí galerii.
void RedrawIcons();
Poznámky
Voláním této funkce překreslíte galerii. Tuto metodu je nutné volat, pokud jste změnili obsah galerie za běhu.
CMFCRibbonGallery::RemoveItemToolTips
Odebere popisy ze všech položek v galerii.
void RemoveItemToolTips();
Poznámky
CMFCRibbonGallery::SelectItem
void SelectItem(int nItemIndex);
Parametry
[v] nItemIndex
Poznámky
CMFCRibbonGallery::SetACCData
Naplní zadaný CAccessibilityData
objekt pomocí dat přístupnosti z galerie pásu karet.
virtual BOOL SetACCData(
CWnd* pParent,
CAccessibilityData& data);
Parametry
pParent
[v] Nadřazené okno okna galerie pásu karet
data
[ven] CAccessibilityData
Objekt, který přijímá data přístupnosti z galerie pásu karet
Návratová hodnota
Poznámky
TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.
CMFCRibbonGallery::SetButtonMode
Určuje, zda se má galerie pásu karet zobrazit jako rozevírací tlačítko nebo jako paleta přímo na pásu karet.
void SetButtonMode(BOOL bSet=TRUE);
Parametry
bSet
[v] TRUE pro zobrazení galerie pásu karet jako rozevírací nabídky tlačítko; NEPRAVDA pro zobrazení obsahu galerie pásu karet přímo na pásu karet.
Poznámky
CMFCRibbonGallery::SetGroupName
Nastaví název skupiny.
void SetGroupName(
int nGroupIndex,
LPCTSTR lpszGroupName);
Parametry
nGroupIndex
[v] Určuje index založený na nule pro skupinu, pro kterou se název mění.
lpszGroupName
[v] Určuje nový název skupiny.
Poznámky
Skupina, jejíž název se mění, musí být přidána pomocí CMFCRibbonGallery::AddGroup metoda.
CMFCRibbonGallery::SetIconsInRow
Určuje počet položek na řádek v galerii.
void SetIconsInRow(int nIconsInRow);
Parametry
nIconsInRow
[v] Určuje počet položek, které se mají zobrazit v každém řádku galerie.
Poznámky
Tuto metodu použijte k určení šířky galerie pásu karet.
CMFCRibbonGallery::SetItemToolTip
Nastaví text popisu položky v galerii.
void SetItemToolTip(
int nItemIndex,
LPCTSTR lpszToolTip);
Parametry
nItemIndex
[v] Index palety založený na nule, ke kterému se má popis přidružit.
lpszToolTip
[v] Text, který se má zobrazit v popisu
Poznámky
CMFCRibbonGallery::SetPalette
Připojí paletu k galerii pásu karet.
void SetPalette(CMFCToolBarImages& imagesPalette);
void SetPalette(
UINT uiImagesPaletteResID,
int cxPaletteImage);
Parametry
imagesPalette
[v] Určuje seznam obrázků, který obsahuje ikony, které se mají zobrazit v galerii.
uiImagesPaletteResID
[v] Určuje ID prostředku seznamu obrázků, který obsahuje ikony, které se mají zobrazit v galerii.
cxPaletteImage
[v] Určuje šířku obrázku v pixelech v galerii.
Poznámky
CMFCRibbonGallery::SetPaletteID
Definuje ID příkazu, které se odešle ve zprávě WM_COMMAND, když uživatel vybere položku galerie.
void SetPaletteID(UINT nID);
Parametry
Nid
[v] Určuje ID příkazu, které se odešle ve zprávě WM_COMMAND, když uživatel vybere položku galerie.
Poznámky
Chcete-li určit konkrétní položku, kterou uživatel vybral z galerie, zavolejte CMFCRibbonGallery::GetLastSelectedItem statická metoda.
Viz také
Graf hierarchie
Třídy
CMFCRibbonButton – třída
CMFCRibbonGalleryMenuButton – třída