다음을 통해 공유


CMFCMenuButton 클래스

사용자가 선택한 메뉴에 팝업 메뉴와 보고서를 표시하는 단추입니다.

구문

class CMFCMenuButton : public CMFCButton

멤버

공용 생성자

속성 설명
CMFCMenuButton::CMFCMenuButton CMFCMenuButton 개체를 생성합니다.

공용 메서드

이름 설명
CMFCMenuButton::P reTranslateMessage 창 메시지를 디스패치하기 전에 변환하기 위해 프레임워크에서 호출됩니다. ( CMFCButton::PreTranslateMessage을 재정의합니다.)
CMFCMenuButton::SizeToContent 텍스트 및 이미지 크기에 따라 단추의 크기를 변경합니다.

데이터 멤버

속성 설명
CMFCMenuButton::m_bOSMenu 기본 시스템 팝업 메뉴를 표시할지 또는 CContextMenuManager::TrackPopupMenu를 사용할지를 지정합니다.
CMFCMenuButton::m_bRightArrow 팝업 메뉴가 단추 아래 또는 오른쪽에 표시되는지 여부를 지정합니다.
CMFCMenuButton::m_bStayPressed 사용자가 단추를 해제한 후 메뉴 단추의 상태가 변경되는지 여부를 지정합니다.
CMFCMenuButton::m_hMenu 연결된 Windows 메뉴에 대한 핸들입니다.
CMFCMenuButton::m_nMenuResult 팝업 메뉴에서 사용자가 선택한 항목을 나타내는 식별자입니다.
CMFCMenuButton::m_bDefaultClick 기본값(단추 텍스트/이미지에서) 처리를 허용합니다.

설명

클래스는 CMFCMenuButton CMFCButton 클래스에서 파생되며, CButton 클래스에서 파생됩니다. 따라서 코드에서 사용하는 것과 동일한 방식으로 사용할 CMFCMenuButton CButton수 있습니다.

만들 CMFCMenuButton때 연결된 팝업 메뉴에 핸들을 전달해야 합니다. 다음으로 함수를 호출합니다 CMFCMenuButton::SizeToContent. CMFCMenuButton::SizeToContent 는 단추 크기가 팝업 창이 표시되는 위치(즉, 단추 아래 또는 오른쪽)를 가리키는 화살표를 포함하기에 충분한지 확인합니다.

예시

다음 예제에서는 단추에 연결 된 메뉴의 핸들을 설정 하는 방법을 보여 줍니다., 텍스트 및 이미지 크기에 따라 단추의 크기를 조정 하 고 프레임 워크에 의해 표시 되는 팝업 메뉴를 설정 합니다. 이 코드 조각은 새 컨트롤 샘플일부입니다.

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;

상속 계층 구조

CObject

CCmdTarget

CWnd

CButton

CMFCButton

CMFCMenuButton

요구 사항

헤더: afxmenubutton.h

CMFCMenuButton::CMFCMenuButton

CMFCMenuButton 개체를 생성합니다.

CMFCMenuButton();

CMFCMenuButton::m_bOSMenu

프레임워크가 표시하는 팝업 메뉴를 나타내는 부울 멤버 변수입니다.

BOOL m_bOSMenu;

설명

TRUE이면 m_bOSMenu 프레임워크는 이 개체에 대해 상속된 TrackPopupMenu 메서드를 호출합니다. 그렇지 않으면 프레임워크는 CContextMenuManager::TrackPopupMenu를 호출합니다.

CMFCMenuButton::m_bRightArrow

팝업 메뉴의 위치를 나타내는 부울 멤버 변수입니다.

BOOL m_bRightArrow;

설명

사용자가 메뉴 단추를 누르면 애플리케이션에 팝업 메뉴가 표시됩니다. 프레임워크는 단추 아래 또는 단추 오른쪽에 팝업 메뉴를 표시합니다. 단추에는 팝업 메뉴가 표시되는 위치를 나타내는 작은 화살표도 있습니다. TRUE이면 m_bRightArrow 프레임워크는 단추 오른쪽에 팝업 메뉴를 표시합니다. 그렇지 않으면 단추 아래에 팝업 메뉴가 표시됩니다.

CMFCMenuButton::m_bStayPressed

사용자가 팝업 메뉴에서 선택하는 동안 메뉴 단추를 누른 상태로 표시되는지 여부를 나타내는 부울 멤버 변수입니다.

BOOL m_bStayPressed;

설명

멤버가 m_bStayPressed FALSE이면 사용이 단추를 클릭할 때 메뉴 단추가 눌리지 않습니다. 이 경우 프레임워크는 팝업 메뉴만 표시합니다.

멤버가 m_bStayPressed TRUE이면 사용자가 단추를 클릭하면 메뉴 단추가 눌립니다. 사용자가 선택하거나 취소하여 팝업 메뉴를 닫을 때까지 계속 누릅니다.

CMFCMenuButton::m_hMenu

연결된 메뉴에 대한 핸들입니다.

HMENU m_hMenu;

설명

프레임워크는 사용자가 메뉴 단추를 클릭할 때 이 멤버 변수가 나타내는 메뉴를 표시합니다.

CMFCMenuButton::m_nMenuResult

팝업 메뉴에서 사용자가 선택하는 항목을 나타내는 정수입니다.

int m_nMenuResult;

설명

사용자가 선택하지 않고 메뉴를 취소하거나 오류가 발생하는 경우 이 멤버 변수의 값은 0입니다.

CMFCMenuButton::m_bDefaultClick

단추에서 텍스트 또는 이미지의 기본 처리를 허용합니다.

BOOL  m_bDefaultClick;

설명

m_bDefaultClick false로 설정하면 단추의 아무 곳이나 클릭할 때 단추가 메뉴를 표시합니다.

CMFCMenuButton::P reTranslateMessage

창 메시지를 디스패치하기 전에 변환하기 위해 프레임워크에서 호출됩니다.

virtual BOOL PreTranslateMessage(MSG* pMsg);

매개 변수

pMsg
[in] 처리할 메시지가 포함된 MSG 구조를 가리킵니다.

Return Value

메시지가 번역되어 디스패치되어서는 안 되는 경우 0이 아닙니다. 메시지가 번역되지 않고 디스패치되어야 하는 경우 0입니다.

설명

CMFCMenuButton::SizeToContent

텍스트 크기 및 이미지 크기에 따라 단추의 크기를 변경합니다.

virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);

매개 변수

bCalcOnly
[in] 이 메서드가 단추의 크기를 조정하는지 여부를 나타내는 부울 매개 변수입니다.

Return Value

단추의 새 크기를 지정하는 CSize 개체입니다.

설명

이 함수를 호출하고 bCalcOnly 가 TRUE SizeToContent 이면 단추의 새 크기만 계산합니다.

단추의 새 크기는 단추 텍스트, 이미지 및 화살표에 맞게 계산됩니다. 또한 프레임워크는 가로 가장자리의 경우 10픽셀, 세로 가장자리의 경우 5픽셀의 미리 정의된 여백을 추가합니다.

참고 항목

계층 구조 차트
클래스
CMFCButton 클래스