Sdílet prostřednictvím


CMFCMenuButton – třída

Tlačítko, které zobrazuje místní nabídku a sestavy na výběrech nabídek uživatele.

Syntaxe

class CMFCMenuButton : public CMFCButton

Členové

Veřejné konstruktory

Jméno popis
CMFCMenuButton::CMFCMenuButton CMFCMenuButton Vytvoří objekt.

Veřejné metody

Jméno popis
CMFCMenuButton::P reTranslateMessage Volané architekturou k překladu zpráv oken před jejich odesláním. (Přepsání CMFCButton::PreTranslateMessage.)
CMFCMenuButton::SizeToContent Změní velikost tlačítka podle jeho textu a velikosti obrázku.

Datové členy

Jméno popis
CMFCMenuButton::m_bOSMenu Určuje, zda se má zobrazit výchozí místní nabídka systému nebo použít CContextMenuManager::TrackPopupMenu.
CMFCMenuButton::m_bRightArrow Určuje, jestli se místní nabídka zobrazí pod tlačítkem nebo vpravo od tlačítka.
CMFCMenuButton::m_bStayPressed Určuje, jestli tlačítko nabídky změní svůj stav poté, co uživatel tlačítko uvolní.
CMFCMenuButton::m_hMenu Popisovač připojené nabídky Windows.
CMFCMenuButton::m_nMenuResult Identifikátor, který označuje, kterou položku uživatel vybral z místní nabídky.
CMFCMenuButton::m_bDefaultClick Povolit výchozí zpracování (při zpracování textu nebo obrázku tlačítka)

Poznámky

Třída CMFCMenuButton je odvozena z CMFCButton Třídy , která je následně odvozena z CButton Třídy. Proto můžete v kódu použít CMFCMenuButton stejným způsobem, jakým byste použili CButton.

Při vytváření CMFCMenuButtonje nutné předat popisovač přidružené místní nabídce. Dále zavolejte funkci CMFCMenuButton::SizeToContent. CMFCMenuButton::SizeToContent zkontroluje, že velikost tlačítka je dostatečná pro zahrnutí šipky, která odkazuje na umístění, kde se zobrazí automaticky otevírané okno – konkrétně pod tlačítkem nebo vpravo od tlačítka.

Příklad

Následující příklad ukazuje, jak nastavit úchyt nabídky připojené k tlačítku, změnit velikost tlačítka podle jeho textu a velikosti obrázku a nastavit místní nabídku, která je zobrazena architekturou. Tento fragment kódu je součástí ukázky New Controls.

CMFCMenuButton m_btnMenu;
// CMenu m_menu
m_btnMenu.m_hMenu = m_menu.GetSubMenu(0)->GetSafeHmenu();
m_btnMenu.SizeToContent();
// set to FALSE so that the framework calls CContextMenuManager::TrackPopupMenu
// to display its menu
m_btnMenu.m_bOSMenu = FALSE;

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

Tlačítko tlačítka

CMFCButton

CMFCMenuButton

Požadavky

Záhlaví: afxmenubutton.h

CMFCMenuButton::CMFCMenuButton

Vytvoří nový CMFCMenuButton objektu.

CMFCMenuButton();

CMFCMenuButton::m_bOSMenu

Logická členská proměnná, která označuje, která místní nabídka zobrazí architekturu.

BOOL m_bOSMenu;

Poznámky

Pokud m_bOSMenu je PRAVDA, architektura volá zděděnou TrackPopupMenu metodu pro tento objekt. V opačném případě architektura volá CContextMenuManager::TrackPopupMenu.

CMFCMenuButton::m_bRightArrow

Logická proměnná člena, která označuje umístění místní nabídky.

BOOL m_bRightArrow;

Poznámky

Když uživatel stiskne tlačítko nabídky, aplikace zobrazí místní nabídku. Architektura zobrazí místní nabídku buď pod tlačítkem, nebo vpravo od tlačítka. Tlačítko má také malou šipku, která označuje, kde se zobrazí místní nabídka. Pokud m_bRightArrow je true, architektura zobrazí místní nabídku napravo od tlačítka. V opačném případě se pod tlačítkem zobrazí místní nabídka.

CMFCMenuButton::m_bStayPressed

Logická proměnná členu, která označuje, jestli se tlačítko nabídky zobrazí, když uživatel provede výběr z místní nabídky.

BOOL m_bStayPressed;

Poznámky

m_bStayPressed Pokud je člen NEPRAVDA, tlačítko nabídky se po kliknutí na tlačítko nestiskne. V tomto případě architektura zobrazí pouze místní nabídku.

Pokud je m_bStayPressed člen true, tlačítko nabídky se stiskne, když uživatel klikne na tlačítko. Zůstane stisknutá, dokud uživatel nezavře místní nabídku, a to buď provedením výběru nebo zrušením.

CMFCMenuButton::m_hMenu

Popisovač připojené nabídky.

HMENU m_hMenu;

Poznámky

Rozhraní zobrazí nabídku označenou touto člennou proměnnou, když uživatel klikne na tlačítko nabídky.

CMFCMenuButton::m_nMenuResult

Celé číslo označující, kterou položku uživatel vybere z místní nabídky.

int m_nMenuResult;

Poznámky

Hodnota této členské proměnné je nulová, pokud uživatel nabídku zruší bez výběru nebo pokud dojde k chybě.

CMFCMenuButton::m_bDefaultClick

Umožňuje výchozí zpracování textu nebo obrázků na tlačítku.

BOOL  m_bDefaultClick;

Poznámky

Nastavení m_bDefaultClick na false způsobí, že tlačítko zobrazí nabídku po kliknutí na libovolné místo na tlačítku.

CMFCMenuButton::P reTranslateMessage

Volané architekturou k překladu zpráv oken před jejich odesláním.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

pMsg
[v] Odkazuje na strukturu MSG , která obsahuje zprávu ke zpracování.

Vrácená hodnota

Nenulové, pokud byla zpráva přeložena a neměla by být odeslána; 0, pokud zpráva nebyla přeložena a měla by být odeslána.

Poznámky

CMFCMenuButton::SizeToContent

Změní velikost tlačítka podle velikosti textu a velikosti obrázku.

virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);

Parametry

bCalcOnly
[v] Logický parametr, který označuje, zda tato metoda změní velikost tlačítka .

Vrácená hodnota

Objekt CSize , který určuje novou velikost tlačítka.

Poznámky

Pokud zavoláte tuto funkci a bCalcOnly má hodnotu TRUE, SizeToContent vypočítá pouze novou velikost tlačítka.

Nová velikost tlačítka se vypočítá tak, aby se vešla do textu tlačítka, obrázku a šipky. Architektura také přidává předdefinované okraje o 10 pixelech pro vodorovnou hranu a 5 pixelů pro svislou hranu.

Viz také

Graf hierarchie
Třídy
CMFCButton – třída