Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Knihovna MFC (Microsoft Foundation Classes) se nadále podporuje. Už ale nepřidáme funkce ani aktualizujeme dokumentaci.
Typ tlačítka panelu nástrojů, které se chová jako běžné tlačítko při kliknutí. Otevře se však rozevírací panel nástrojů ( CMFCDropDownToolBar Třída , pokud uživatel stiskne a podrží tlačítko panelu nástrojů dolů.
Syntaxe
class CMFCDropDownToolbarButton : public CMFCToolBarButton
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| CMFCDropDownToolbarButton::CMFCDropDownToolbarButton |
CMFCDropDownToolbarButton Vytvoří objekt. |
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton |
Destruktor. |
Veřejné metody
| Název | Popis |
|---|---|
| CMFCDropDownToolbarButton::CopyFrom | Zkopíruje vlastnosti jiného tlačítka panelu nástrojů na aktuální tlačítko. (Přepsání CMFCToolBarButton::CopyFrom.) |
CMFCDropDownToolbarButton::CreateObject |
Používá se architekturou k vytvoření dynamické instance tohoto typu třídy. |
| CMFCDropDownToolbarButton::D ropDownToolbar | Otevře rozevírací panel nástrojů. |
| CMFCDropDownToolbarButton::ExportToMenuButton | Zkopíruje text z tlačítka panelu nástrojů do nabídky. (Přepsání CMFCToolBarButton::ExportToMenuButton.) |
| CMFCDropDownToolbarButton::GetDropDownToolBar | Načte rozevírací panel nástrojů přidružený k tlačítku. |
CMFCDropDownToolbarButton::GetThisClass |
Používá se architekturou k získání ukazatele na CRuntimeClass objektu, který je přidružen k tomuto typu třídy. |
| CMFCDropDownToolbarButton::IsDropDown | Určuje, zda je aktuálně otevřen rozevírací panel nástrojů. |
| CMFCDropDownToolbarButton::IsExtraSize | Určuje, zda lze tlačítko zobrazit s rozšířeným ohraničením. (Přepsání CMFCToolBarButton::IsExtraSize.) |
| CMFCDropDownToolbarButton::OnCalculateSize | Volané rozhraním pro výpočet velikosti tlačítka pro zadaný kontext zařízení a stav ukotvení. (Přepsání CMFCToolBarButton::OnCalculateSize.) |
CMFCDropDownToolbarButton::OnCancelMode |
Volá se rozhraním pro zpracování WM_CANCELMODE zprávy. (Přepsání CMCToolBarButton::OnCancelMode.) |
| CMFCDropDownToolbarButton::OnChangeParentWnd | Volá se rozhraním při vložení tlačítka do nového panelu nástrojů. (Přepsání CMFCToolBarButton::OnChangeParentWnd.) |
| CMFCDropDownToolbarButton::OnClick | Volá se rozhraním, když uživatel klikne na tlačítko myši. (Přepsání CMFCToolBarButton::OnClick.) |
| CMFCDropDownToolbarButton::OnClickUp | Volá se rozhraním, když uživatel uvolní tlačítko myši. (Přepsání CMFCToolBarButton::OnClickUp.) |
| CMFCDropDownToolbarButton::OnContextHelp | Volá se rozhraním, když nadřazený panel nástrojů zpracovává zprávu WM_HELPHITTEST. (Přepsání CMFCToolBarButton::OnContextHelp.) |
| CMFCDropDownToolbarButton::OnCustomizeMenu | Upraví zadanou nabídku, když aplikace zobrazí místní nabídku na nadřazené panelu nástrojů. (Přepsání CMFCToolBarButton::OnCustomizeMenu.) |
| CMFCDropDownToolbarButton::OnDraw | Volá se rozhraním pro kreslení tlačítka pomocí zadaných stylů a možností. (Přepsání CMFCToolBarButton::OnDraw.) |
| CMFCDropDownToolbarButton::OnDrawOnCustomizeList | Volá se rozhraním pro kreslení tlačítka v podokně Příkazy dialogového okna Přizpůsobit . (Přepsání CMFCToolBarButton::OnDrawOnCustomizeList.) |
| CMFCDropDownToolbarButton::Serialize | Načte tento objekt z archivu nebo ho zapíše do archivu. (Přepsání CMFCToolBarButton::Serialize.) |
| CMFCDropDownToolbarButton::SetDefaultCommand | Nastaví výchozí příkaz, který architektura používá, když uživatel klikne na tlačítko. |
Datové členy
| Název | Popis |
|---|---|
| CMFCDropDownToolbarButton::m_uiShowBarDelay | Určuje dobu, po kterou musí uživatel podržet tlačítko myši před zobrazením rozevíracího panelu nástrojů. |
Poznámky
Liší CMFCDropDownToolBarButton se od obyčejného tlačítka v tom, že má malou šipku v pravém dolním rohu tlačítka. Jakmile uživatel vybere tlačítko z rozevíracího panelu nástrojů, architektura zobrazí ikonu na tlačítku panelu nástrojů nejvyšší úrovně (tlačítko s malou šipkou v pravém dolním rohu).
Informace o tom, jak implementovat rozevírací panel nástrojů, naleznete v CMFCDropDownToolBar Třída.
Objekt CMFCDropDownToolBarButton lze exportovat do objektu CMFCToolBarMenuButton Class a zobrazit jako tlačítko nabídky s místní nabídkou.
Hierarchie dědičnosti
Požadavky
Záhlaví: afxdropdowntoolbar.h
CMFCDropDownToolbarButton::CopyFrom
Zkopíruje vlastnosti jiného tlačítka panelu nástrojů na aktuální tlačítko.
virtual void CopyFrom(const CMFCToolBarButton& src);
Parametry
Src
[v] Odkaz na tlačítko zdroje, ze kterého chcete kopírovat.
Poznámky
Voláním této metody zkopírujte na toto tlačítko panelu nástrojů další tlačítko panelu nástrojů.
src musí být typu CMFCDropDownToolbarButton.
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton
CMFCDropDownToolbarButton Vytvoří objekt.
CMFCDropDownToolbarButton();
CMFCDropDownToolbarButton(
LPCTSTR lpszName,
CMFCDropDownToolBar* pToolBar);
Parametry
lpszName
[v] Výchozí text tlačítka.
pToolBar
[v] Ukazatel na CMFCDropDownToolBar objekt, který se zobrazí, když uživatel stiskne tlačítko.
Poznámky
Druhé přetížení konstruktoru zkopíruje do rozevíracího tlačítka první tlačítko z panelu nástrojů, který pToolBar určuje.
Tlačítko rozevíracího panelu nástrojů obvykle používá text z naposledy použitého tlačítka na panelu nástrojů, který určuje pToolBar . Používá text určený lpszName při převodu tlačítka na tlačítko nabídky nebo je zobrazen na kartě Příkazy dialogového okna Přizpůsobit. Další informace o přizpůsobit dialogové okno, viz CMFCToolBarsCustomizeDialog Třída.
Příklad
Následující příklad ukazuje, jak vytvořit objekt CMFCDropDownToolbarButton třídy. Tento fragment kódu je součástí ukázky sady Visual Studio Demo.
// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));
CMFCDropDownToolbarButton::D ropDownToolbar
Otevře rozevírací panel nástrojů.
BOOL DropDownToolbar(CWnd* pWnd);
Parametry
pWnd
[v] Nadřazené okno rozevíracího rámce nebo NULL pro použití nadřazeného okna rozevíracího panelu nástrojů
Návratová hodnota
Nenulové, pokud je metoda úspěšná; jinak 0.
Poznámky
CMFCDropDownToolbarButton::OnClick metoda volá tuto metodu k otevření rozevíracího panelu nástrojů, když uživatel stiskne a podrží tlačítko panelu nástrojů dolů.
Tyto metody vytvoří rozevírací panel nástrojů pomocí CMFCDropDownFrame::Create metoda. Pokud je nadřazený panel nástrojů ukotven svisle, umístí tato metoda rozevírací panel nástrojů buď na levou nebo pravou stranu nadřazeného panelu nástrojů v závislosti na přizpůsobení. Jinak tato metoda umístí rozevírací panel nástrojů pod nadřazený panel nástrojů.
Tato metoda selže, pokud pWnd je NULL a tlačítko rozevíracího panelu nástrojů nemá nadřazené okno.
CMFCDropDownToolbarButton::ExportToMenuButton
Zkopíruje text z tlačítka panelu nástrojů do nabídky.
virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;
Parametry
menuButton
[v] Odkaz na tlačítko cílové nabídky.
Návratová hodnota
Nenulové, pokud je metoda úspěšná; jinak 0.
Poznámky
Tato metoda volá implementaci základní třídy ( CMFCToolBarButton::ExportToMenuButton) a pak připojí k cílové nabídce tlačítko místní nabídky, která obsahuje jednotlivé položky nabídky panelu nástrojů v tomto tlačítku. Tato metoda nepřidá dílčí nabídky do místní nabídky.
Tato metoda selže, pokud nadřazený panel nástrojů , m_pToolBarje NULL nebo implementace základní třídy vrátí FALSE.
CMFCDropDownToolbarButton::GetDropDownToolBar
Načte rozevírací panel nástrojů přidružený k tlačítku.
CMFCToolBar* GetDropDownToolBar() const;
Návratová hodnota
Rozevírací panel nástrojů přidružený k tlačítku
Poznámky
Tato metoda vrátí m_pToolBar datový člen.
CMFCDropDownToolbarButton::IsDropDown
Určuje, zda je aktuálně otevřen rozevírací panel nástrojů.
BOOL IsDropDown() const;
Návratová hodnota
Nenulové, pokud je panel nástrojů rozevíracího seznamu aktuálně otevřený; jinak 0.
Poznámky
Architektura otevře rozevírací panel nástrojů pomocí CMFCDropDownToolbarButton::D ropDownToolbarbar metoda. Architektura zavře rozevírací panel nástrojů, když uživatel stiskne levé tlačítko myši v oblasti mimo klient na rozevíracím panelu nástrojů.
CMFCDropDownToolbarButton::IsExtraSize
Určuje, zda lze tlačítko zobrazit s rozšířeným ohraničením.
virtual BOOL IsExtraSize() const;
Návratová hodnota
Nenulové, pokud lze tlačítko panelu nástrojů zobrazit s rozšířeným ohraničení; jinak 0.
Poznámky
Další informace o rozšířených ohraničení naleznete v tématu CMFCToolBarButton::IsExtraSize.
CMFCDropDownToolbarButton::m_uiShowBarDelay
Určuje dobu, po kterou musí uživatel podržet tlačítko myši před zobrazením rozevíracího panelu nástrojů.
static UINT m_uiShowBarDelay;
Poznámky
Doba zpoždění se měří v milisekundách. Výchozí hodnota je 500. Jinou prodlevu můžete nastavit změnou hodnoty tohoto sdíleného datového člena.
CMFCDropDownToolbarButton::OnCalculateSize
Volané rozhraním pro výpočet velikosti tlačítka pro zadaný kontext zařízení a stav ukotvení.
virtual SIZE OnCalculateSize(
CDC* pDC,
const CSize& sizeDefault,
BOOL bHorz);
Parametry
pDC
[v] Kontext zařízení, který tlačítko zobrazí.
sizeDefault
[v] Výchozí velikost tlačítka.
bHorz
[v] Stav ukotvení nadřazeného panelu nástrojů Tento parametr je TRUE, pokud je panel nástrojů ukotven vodorovně nebo plovoucí, nebo NEPRAVDA, pokud je panel nástrojů ukotven svisle.
Návratová hodnota
Struktura SIZE , která obsahuje rozměry tlačítka v pixelech.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy ( CMFCToolBarButton::OnCalculateSize) přidáním šířky šipky rozevíracího seznamu do vodorovné dimenze velikosti tlačítka.
CMFCDropDownToolbarButton::OnChangeParentWnd
Volá se rozhraním při vložení tlačítka do nového panelu nástrojů.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Parametry
pWndParent
[v] Nové nadřazené okno.
Poznámky
Tato metoda přepíše implementaci základní třídy ( CMFCToolBarButton::OnChangeParentWnd) vymazáním textového popisku ( CMFCToolBarButton::m_strText) a nastavením CMFCToolBarButton::m_bText a CMFCToolBarButton::m_bUserButton datových členů na FALSE.
CMFCDropDownToolbarButton::OnClick
Volá se rozhraním, když uživatel klikne na tlačítko myši.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Parametry
pWnd
[v] Nadřazené okno tlačítka panelu nástrojů
bDelay
[v] TRUE, pokud by zpráva měla být zpracována se zpožděním.
Návratová hodnota
Nenulové, pokud tlačítko zpracuje zprávu kliknutí; jinak 0.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy CMFCToolBarButton::OnClick aktualizací stavu rozevíracího panelu nástrojů.
Když uživatel klikne na tlačítko panelu nástrojů, tato metoda vytvoří časovač, který počká na dobu určenou CMFCDropDownToolbarButton::m_uiShowBarDelay datový člen a pak otevře rozevírací panel nástrojů pomocí CMFCDropDownToolbarButton::D ropDownToolbarBar Metoda. Tato metoda zavře rozevírací panel nástrojů podruhé, když uživatel klikne na tlačítko panelu nástrojů.
CMFCDropDownToolbarButton::OnClickUp
Volá se rozhraním, když uživatel uvolní tlačítko myši.
virtual BOOL OnClickUp();
Návratová hodnota
Nenulové, pokud tlačítko zpracuje zprávu kliknutí; jinak 0.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy CMFCToolBarButton::OnClickUp aktualizací stavu rozevíracího panelu nástrojů.
Tato metoda zastaví časovač rozevíracího panelu nástrojů, pokud je aktivní. Pokud je otevřený, zavře rozevírací panel nástrojů.
Další informace o rozevíracím panelu nástrojů a časovači rozevíracího panelu nástrojů naleznete v tématu CMFCDropDownToolbarButton::OnClick.
CMFCDropDownToolbarButton::OnContextHelp
Volá se rozhraním, když nadřazený panel nástrojů zpracovává zprávu WM_HELPHITTEST.
virtual BOOL OnContextHelp(CWnd* pWnd);
Parametry
pWnd
[v] Nadřazené okno tlačítka panelu nástrojů
Návratová hodnota
Nenulové, pokud tlačítko zpracuje zprávu nápovědy; jinak 0.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy ( CMFCToolBarButton::OnContextHelp) voláním CMFCDropDownToolbarButton::OnClick metoda s bDelay nastavenou na FALSE. Tato metoda vrátí hodnotu, která je vrácena CMFCDropDownToolbarButton::OnClick.
Další informace o WM_HELPHITTEST zprávě naleznete v tématu TN028: Podpora kontextové nápovědy.
CMFCDropDownToolbarButton::OnCustomizeMenu
Upraví zadanou nabídku, když aplikace zobrazí místní nabídku na nadřazené panelu nástrojů.
virtual BOOL OnCustomizeMenu(CMenu* pMenu);
Parametry
pMenu
[v] Nabídka, která se má přizpůsobit.
Návratová hodnota
Tato metoda vrátí hodnotu TRUE.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy ( CMFCToolBarButton::OnCustomizeMenu) zakázáním následujících položek nabídky:
Kopírovat obrázek tlačítka
Vzhled tlačítka
Obrázek
Text
Obrázek a text
Tuto metodu přepište tak, aby se změnila místní nabídka, kterou architektura zobrazuje v režimu přizpůsobení.
CMFCDropDownToolbarButton::OnDraw
Volá se rozhraním pro kreslení tlačítka pomocí zadaných stylů a možností.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
CMFCToolBarImages* pImages,
BOOL bHorz = TRUE,
BOOL bCustomizeMode = FALSE,
BOOL bHighlight = FALSE,
BOOL bDrawBorder = TRUE,
BOOL bGrayDisabledButtons = TRUE);
Parametry
pDC
[v] Kontext zařízení, který tlačítko zobrazí.
Rect
[v] Ohraničující obdélník tlačítka.
pImages
[v] Kolekce obrázků panelu nástrojů, které jsou přidružené k tlačítku.
bHorz
[v] Stav ukotvení nadřazeného panelu nástrojů Tento parametr je TRUE, pokud je tlačítko ukotveno vodorovně a NEPRAVDA, pokud je tlačítko ukotveno svisle.
bCustomizeMode
[v] Určuje, jestli je panel nástrojů v režimu přizpůsobení. Tento parametr je TRUE, pokud je panel nástrojů v režimu přizpůsobení a NEPRAVDA, pokud panel nástrojů není v režimu přizpůsobení.
bHighlight
[v] Určuje, jestli je tlačítko zvýrazněné. Tento parametr je TRUE, pokud je tlačítko zvýrazněné a NEPRAVDA, pokud tlačítko není zvýrazněno.
bDrawBorder
[v] Určuje, jestli má tlačítko zobrazit jeho ohraničení. Tento parametr je TRUE, pokud by mělo tlačítko zobrazit jeho ohraničení a NEPRAVDA, pokud by se nemělo zobrazit jeho ohraničení.
bGrayDisabledButtons
[v] Určuje, jestli se mají vystínovat zakázaná tlačítka nebo použít zakázanou kolekci obrázků. Tento parametr je TRUE, pokud by zakázaná tlačítka měla být stínována a FALSE, pokud by tato metoda měla používat zakázanou kolekci obrázků.
Poznámky
Tuto metodu přepište, pokud chcete přizpůsobit výkres tlačítka panelu nástrojů.
CMFCDropDownToolbarButton::OnDrawOnCustomizeList
Volá se rozhraním pro kreslení tlačítka v podokně Příkazy dialogového okna Přizpůsobit .
virtual int OnDrawOnCustomizeList(
CDC* pDC,
const CRect& rect,
BOOL bSelected);
Parametry
pDC
[v] Kontext zařízení, který tlačítko zobrazí.
Rect
[v] Ohraničující obdélník tlačítka.
bSelected
[v] Určuje, jestli je tlačítko vybrané. Pokud je tento parametr TRUE, je tlačítko vybráno. Pokud je tento parametr NEPRAVDA, tlačítko není vybráno.
Návratová hodnota
Šířka tlačítka v pixelech v zadaném kontextu zařízení.
Poznámky
Tato metoda je volána pomocí dialogového okna přizpůsobení ( příkazy karta), pokud je tlačítko nutné k zobrazení v seznamu vlastník-kreslení.
Tato metoda rozšiřuje implementaci základní třídy ( CMFCToolBarButton::OnDrawOnCustomizeList) změnou textového popisku tlačítka na název tlačítka (to znamená na hodnotu lpszName parametru, který jste předali konstruktoru).
CMFCDropDownToolbarButton::Serialize
Načte tento objekt z archivu nebo ho zapíše do archivu.
virtual void Serialize(CArchive& ar);
Parametry
ar
[v] Objekt CArchive , ze kterého nebo do kterého se má serializovat.
Poznámky
Tato metoda rozšiřuje implementaci základní třídy ( CMFCToolBarButton::Serialize) serializací ID prostředku nadřazeného panelu nástrojů. Při načítání archivu ( CArchive::IsLoading vrátí nenulovou hodnotu), tato metoda nastaví m_pToolBar datový člen na panel nástrojů, který obsahuje serializované ID prostředku.
CMFCDropDownToolbarButton::SetDefaultCommand
Nastaví výchozí příkaz, který architektura používá, když uživatel klikne na tlačítko.
void SetDefaultCommand(UINT uiCmd);
Parametry
uiCmd
[v] ID výchozího příkazu.
Poznámky
Voláním této metody určíte výchozí příkaz, který architektura spustí, když uživatel klikne na tlačítko. Položka s ID příkazu, které určuje uiCmd , musí být umístěna na nadřazené rozevírací panel nástrojů.
Viz také
Graf hierarchie
Třídy
CMFCDropDownToolBar – třída
CMFCToolBar – třída
CMFCToolBarMenuButton – třída
Návod: Umístění ovládacích prvků na panely nástrojů