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;
상속 계층 구조
요구 사항
헤더: 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픽셀의 미리 정의된 여백을 추가합니다.