다음을 통해 공유


CMFCPopupMenu 클래스

Windows 팝업 메뉴 기능을 구현하고 분리 메뉴, 도구 설명 같은 기능을 추가하여 확장합니다. 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CMFCPopupMenu : public CMiniFrameWnd

멤버

보호된 생성자

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

공용 메서드

이름 설명
CMFCPopupMenu::ActivatePopupMenu
CMFCPopupMenu::AlwaysShowEmptyToolsEntry 사용자 정의 도구에 대한 빈 항목을 표시하도록 팝업 메뉴를 사용할 수 있는지 여부를 설정합니다.
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea 팝업 메뉴를 기준으로 지점의 위치를 결정합니다.
CMFCPopupMenu::CloseMenu
CMFCPopupMenu::Create 팝업 메뉴를 만들어 개체에 CMFCPopupMenu 연결합니다.
CMFCPopupMenu::D efaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo 팝업 메뉴의 로고를 초기화합니다.
CMFCPopupMenu::EnableMenuSound 메뉴 소리를 사용하도록 설정합니다.
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubItemByCommand
CMFCPopupMenu::GetActiveMenu 현재 활성 메뉴를 반환합니다.
CMFCPopupMenu::GetAnimationSpeed 팝업 메뉴의 애니메이션 속도를 반환합니다.
CMFCPopupMenu::GetAnimationType 팝업 메뉴 애니메이션의 현재 형식을 반환합니다.
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus 팝업 메뉴가 표시될 때 포커스가 메뉴 모음으로 반환되는지 여부를 나타냅니다.
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu 연결된 메뉴 리소스에 대한 핸들을 반환합니다.
CMFCPopupMenu::GetMenuBar 팝업 메뉴 내에 포함된 CMFCPopupMenuBar를 반환합니다.
CMFCPopupMenu::GetMenuItem 지정된 인덱스에서 메뉴 항목에 대한 포인터를 반환합니다.
CMFCPopupMenu::GetMenuItemCount 팝업 메뉴의 항목 수를 반환합니다.
CMFCPopupMenu::GetMessageWnd 프레임워크가 팝업 메뉴 메시지를 라우팅하는 창에 대한 포인터를 반환합니다.
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton 부모 도구 모음 단추에 대한 포인터를 반환합니다.
CMFCPopupMenu::GetParentPopupMenu 부모 팝업 메뉴에 대한 포인터를 반환합니다.
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar 부모 도구 모음에 대한 포인터를 반환합니다.
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem 현재 선택한 메뉴 명령에 대한 포인터를 반환합니다.
CMFCPopupMenu::HasBeenResized
CMFCPopupMenu::HideRarelyUsedCommands 팝업 메뉴가 거의 사용되지 않는 명령을 숨길 수 있는지 여부를 나타냅니다.
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem 지정된 위치의 팝업 메뉴에 새 항목을 삽입합니다.
CMFCPopupMenu::InsertSeparator 지정한 위치의 팝업 메뉴에 구분 기호를 삽입합니다.
CMFCPopupMenu::IsAlwaysClose
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu::IsCustomizePane 팝업 메뉴가 QuickCustomizePane으로 작동하는지 여부를 나타냅니다.
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle 팝업 메뉴가 현재 유휴 상태인지 여부를 나타냅니다.
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize 연결된 CMFCToolBarMenuButton 클래스 가 QuickCustomize 모드인지 여부를 확인합니다.
CMFCPopupMenu::IsResizeble
CMFCPopupMenu::IsRightAlign 메뉴가 오른쪽 맞춤인지 왼쪽 맞춤인지를 나타냅니다.
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg 사용자가 팝업 메뉴에서 명령을 선택할 때 프레임워크가 부모 프레임에 알릴지 여부를 나타냅니다.
CMFCPopupMenu::IsShown 팝업 메뉴가 현재 표시되는지 여부를 나타냅니다.
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg ( CFrameWnd::OnCmdMsg을 재정의합니다.)
CMFCPopupMenu::P ostCommand
CMFCPopupMenu::P reTranslateMessage ( CFrameWnd::PreTranslateMessage을 재정의합니다.)
CMFCPopupMenu::RecalcLayout 표준 컨트롤 막대를 설정/해제하거나 프레임 창의 크기를 조정할 때 프레임워크에서 호출됩니다. (재정의 CFrameWnd::RecalcLayout.)
CMFCPopupMenu::RemoveAllItems 팝업 메뉴에서 모든 항목을 지웁니다.
CMFCPopupMenu::RemoveItem 팝업 메뉴에서 지정된 항목을 제거합니다.
CMFCPopupMenu::SaveState
CMFCPopupMenu::SetAnimationSpeed 팝업 메뉴의 애니메이션 속도를 설정합니다.
CMFCPopupMenu::SetAnimationType 팝업 메뉴의 애니메이션 유형을 설정합니다.
CMFCPopupMenu::SetAutoDestroy
CMFCPopupMenu::SetDefaultItem 팝업 메뉴의 기본 명령을 설정합니다.
CMFCPopupMenu::SetForceMenuFocus 팝업 메뉴가 표시되면 입력 포커스가 메뉴 모음으로 돌아가도록 합니다.
CMFCPopupMenu::SetForceShadow 팝업 메뉴가 기본 프레임 외부에 표시되면 프레임워크에서 메뉴 그림자를 강제로 그립니다.
CMFCPopupMenu::SetMaxWidth 팝업 메뉴의 최대 너비를 설정합니다.
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign 팝업 메뉴의 메뉴 맞춤을 설정합니다.
CMFCPopupMenu::SetSendMenuSelectMsg 사용자가 명령을 선택할 때 팝업 메뉴가 부모 프레임에 알릴지 여부를 제어하는 플래그를 설정합니다.
CMFCPopupMenu::ShowAllCommands 팝업 메뉴가 모든 명령을 표시하도록 합니다.
CMFCPopupMenu::TriggerResize
CMFCPopupMenu::UpdateAllShadows 열려 있는 모든 팝업 메뉴의 그림자를 업데이트.
CMFCPopupMenu::UpdateShadow 팝업 메뉴의 그림자를 업데이트.

보호된 메서드

속성 설명
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

설명

일반적으로 MFC는 팝업 메뉴를 자동으로 만듭니다. 개체를 CMFCPopupMenu 수동으로 만들려면 힙에 개체를 할당한 다음 CMFCPopupMenu::Create를 호출 합니다.

예시

다음 예제에서는 팝업 메뉴 개체를 구성하는 방법을 보여 줍니다. 이 예제에서는 팝업 메뉴의 로고와 소리를 설정하고, 애니메이션 속도 및 유형을 설정하고, 팝업 메뉴가 기본 프레임 외부에 표시되면 메뉴 그림자를 그리고, 최대 너비를 설정하고, 팝업 메뉴의 올바른 메뉴 맞춤을 설정하는 방법을 보여 줍니다. 이 코드 조각은 사용자 지정 페이지 샘플일부입니다.

// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();

상속 계층 구조

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCPopupMenu

요구 사항

헤더: afxpopupmenu.h

CMFCPopupMenu::ActivatePopupMenu

static BOOL __stdcall ActivatePopupMenu(
    CFrameWnd* pTopFrame,
    CMFCPopupMenu* pPopupMenu);

매개 변수

[in] pTopFrame
[in] pPopupMenu

Return Value

설명

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

사용자 정의 도구에 대한 빈 항목을 표시하도록 팝업 메뉴를 사용할 수 있는지 여부를 설정합니다.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

매개 변수

bShow
[in] 팝업 메뉴에 빈 항목이 표시되면 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Return Value

설명

CMFCPopupMenu::CheckArea

팝업 메뉴를 기준으로 지점의 위치를 결정합니다.

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

매개 변수

ptScreen
[in] 화면 좌표의 점입니다.

Return Value

점이 팝업 메뉴를 기준으로 하는 위치를 나타내는 MENUAREA_TYPE 매개 변수입니다.

설명

MENUAREA_TYPE 매개 변수는 다음 값 중 하나를 가질 수 있습니다.

  • 외부 - ptScreen 이 팝업 메뉴 외부에 있습니다.

  • LOGO - ptScreen 이 로고 영역 위에 있습니다.

  • TEAROFF_CAPTION - ptScreen은 눈물 캡션 통해입니다.

  • SHADOW_BOTTOM - ptScreen 은 팝업 메뉴의 아래쪽 그림자 위에 있습니다.

  • SHADOW_RIGHT - ptScreen 이 팝업 메뉴의 오른쪽 그림자 위에 있습니다.

  • MENU - ptScreen 이 명령을 통해 표시됩니다.

CMFCPopupMenu::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

매개 변수

[in] bSetFocusToBar

설명

CMFCPopupMenu::CMFCPopupMenu

CMFCPopupMenu 개체를 생성합니다.

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

매개 변수

pCustPage
[in] 사용자 지정 페이지에 대한 포인터입니다.

lpszTitle
[in] 메뉴 캡션 포함하는 문자열입니다.

설명

이 메서드는 에 대한 CMFCPopupMenu리소스를 할당합니다. 팝업 메뉴 항목을 만들려면 CMFCPopupMenu::Create를 호출 합니다.

CMFCPopupMenu::Create

팝업 메뉴를 만들어 CMFCPopupMenu 개체에 연결합니다.

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    HMENU hMenu,
    BOOL bLocked = FALSE,
    BOOL bOwnMessage = FALSE);

매개 변수

pWndParent
[in] 에 대한 부모 창입니다 CMFCPopupMenu.

x
[in] 팝업 메뉴의 위치에 대한 가로 화면 좌표

y
[in] 팝 메뉴의 위치에 대한 세로 화면 좌표입니다.

Hmenu
[in] 메뉴 리소스에 대한 핸들입니다.

차단
[in] 메뉴를 사용자 지정할 수 있는지 여부를 나타내는 부울 매개 변수입니다. FALSE는 팝업 메뉴를 사용자 지정할 수 있음을 나타냅니다.

bOwnMessage
[in] 프레임워크가 메뉴 메시지를 라우팅하는 방법을 나타내는 부울 매개 변수입니다. 자세한 내용은 설명 섹션을 참조하세요.

Return Value

메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

bOwnMessage가 TRUE이면 프레임워크는 모든 메뉴 메시지를 pWndParent라우팅합니다. bOwnMessage가 TRUE이면 pWndParent가 NULL이 아니어야 합니다. bOwnMessage가 FALSE이면 프레임워크는 메뉴 메시지를 부모 팝업 메뉴로 라우팅합니다.

예시

다음 예제에서는 클래스의 메서드를 Create 사용 하는 방법을 보여 줍니다 CMFCPopuMenu . 이 코드 조각은 사용자 지정 페이지 샘플일부입니다.

CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());

CMFCPopupMenu::CreateTearOffBar

virtual CPane* CreateTearOffBar(
    CFrameWnd* pWndMain,
    UINT uiID,
    LPCTSTR lpszName);

매개 변수

[in] pWndMain
[in] uiID
[in] Lpszname

Return Value

설명

CMFCPopupMenu::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Return Value

설명

팝업 메뉴의 로고를 초기화합니다.

void EnableMenuLogo(
    int iLogoSize,
    LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);

매개 변수

iLogoSize
[in] 로고의 크기(픽셀)입니다.

nLogoLocation
[in] 로고의 위치를 나타내는 열거형 데이터 형식입니다.

설명

로고를 표시하려면 기본 프레임 창에서 CFrameWndEx::OnDrawMenuLogo 메서드를 구현합니다.

nLogoLocation에 사용할 수 있는 값은 MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP 및 MENU_LOGO_BOTTOM.

CMFCPopupMenu::EnableMenuSound

메뉴 소리를 사용하도록 설정합니다.

static void EnableMenuSound(BOOL bEnable = TRUE);

매개 변수

bEnable
[in] 소리를 사용하도록 설정하려면 TRUE, 그렇지 않으면 FALSE입니다.

설명

소리를 사용하도록 설정하면 사용자가 팝업 메뉴를 열거나 메뉴 명령을 선택할 때 프레임워크에서 PlaySound 메서드를 호출합니다. 기본적으로 이 기능은 사용하도록 설정되어 있습니다.

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

매개 변수

[in] sizeMinResize

설명

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

매개 변수

[in] Bool

설명

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

매개 변수

[in] nMinResize

설명

CMFCPopupMenu::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

매개 변수

[in] uiCmd

Return Value

설명

CMFCPopupMenu::GetActiveMenu

현재 활성 메뉴를 반환합니다.

static CMFCPopupMenu* GetActiveMenu();

Return Value

활성 팝업 메뉴에 대한 포인터이거나, 현재 활성화된 팝업 메뉴가 없는 경우 NULL입니다.

설명

각 애플리케이션에는 최대 하나의 활성 팝업 메뉴가 있을 수 있습니다.

CMFCPopupMenu::GetAnimationSpeed

팝업 메뉴의 애니메이션 속도를 반환합니다.

static UINT GetAnimationSpeed();

Return Value

팝업 메뉴 애니메이션이 완료되는 데 걸리는 시간(밀리초)을 나타내는 정수입니다.

설명

애니메이션 속도는 전역 값입니다. CMFCPopupMenu::SetAnimationSpeed를 사용하여 팝업 메뉴의 애니메이션 속도를 변경합니다.

CMFCPopupMenu::GetAnimationType

팝업 애니메이션의 현재 형식을 반환합니다.

static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);

매개 변수

bNoSystem
[in] 이 메서드가 전역 값을 검사 여부를 나타내는 부울 매개 변수입니다. 이 메서드가 CMFCPopupMenu 클래스이 인스턴스에 대한 애니메이션 스타일을 반환하도록 하려면 FALSE입니다.

Return Value

애니메이션 형식을 설명하는 열거형 값입니다.

설명

팝업 메뉴에 대한 애니메이션 스타일은 애플리케이션에 대해 전역입니다. CMFCPopupMenu::SetAnimationType을 사용하여 애니메이션 스타일을 설정합니다.

다음 표에서는 가능한 애니메이션 유형을 나열합니다.

설명
NO_ANIMATION 팝업 메뉴에 애니메이션이 적용되지 않고 즉시 표시됩니다.
전개 프레임워크는 왼쪽 위 모서리에서 오른쪽 아래 모서리까지 팝업 메뉴를 표시합니다.
슬라이드 팝업 메뉴가 위에서 아래로 이동합니다.
페이드 팝업 메뉴는 먼저 투명하게 표시되고 점차 굳어집니다.

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Return Value

설명

CMFCPopupMenu::GetForceMenuFocus

팝업 메뉴가 표시될 때 포커스가 메뉴 모음으로 반환되는지 여부를 나타냅니다.

static BOOL GetForceMenuFocus();

Return Value

팝업 메뉴가 표시될 때 입력 포커스가 메뉴 모음에 반환되면 TRUE입니다. 팝업 메뉴에 포커스가 유지되면 FALSE입니다.

설명

기본적으로 애플리케이션은 메뉴 모음에 포커스를 반환하지 않습니다. 이 설정을 변경하려면 CMFCPopupMenu::SetForceMenuFocus를 사용합니다.

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

Return Value

설명

CMFCPopupMenu::GetHMenu

연결된 메뉴 리소스에 대한 핸들을 반환합니다.

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

팝업 메뉴 내에 포함된 CMFCPopupMenuBar를 반환합니다.

virtual CMFCPopupMenuBar* GetMenuBar();

Return Value

포함된 CMFCPopupMenuBar에 대한 포인터입니다.

설명

팝업 메뉴에는 포함된 개체가 있습니다 CMFCPopupMenuBar . 다른 포함된 클래스를 사용하는 경우 파생 클래스에서 이 메서드를 재정의해야 합니다.

CMFCPopupMenu::GetMenuItem

지정된 인덱스에서 메뉴 항목에 대한 포인터를 반환합니다.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

매개 변수

iIndex
[in] 메뉴 항목의 인덱스(0부터 시작)입니다.

Return Value

메뉴 항목에 대한 포인터입니다. 인덱스가 잘못된 경우 NULL입니다.

설명

메뉴 항목은 CMFCToolBarMenuButton 클래스표시됩니다. 이 메서드를 호출하면 해당 CMFCToolBarMenuButton메서드에 대한 포인터가 반환됩니다.

CMFCPopupMenu::GetMenuItemCount

팝업 메뉴의 항목 수를 반환합니다.

int GetMenuItemCount() const;

Return Value

메뉴의 항목 수입니다.

CMFCPopupMenu::GetMessageWnd

프레임워크가 팝업 메뉴 메시지를 라우팅하는 창에 대한 포인터를 반환합니다.

CWnd* GetMessageWnd() const;

Return Value

팝업 메뉴 메시지를 받는 창에 대한 포인터입니다. 창이 없으면 NULL입니다.

설명

CMFCPopupMenu::Create 메서드를 사용하여 팝업 메뉴를 만드는 경우 메뉴 메시지를 받는 창을 지정합니다.

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

매개 변수

[in] rectParentBtn

Return Value

설명

CMFCPopupMenu::GetParentButton

부모 도구 모음 단추에 대한 포인터를 반환합니다.

CMFCToolBarMenuButton* GetParentButton() const;

Return Value

부모 도구 모음 단추에 대한 포인터입니다. 팝업 메뉴에 부모 도구 모음 단추가 없는 경우 NULL입니다.

설명

A는 CMFCPopupMenu 메뉴의 단추와 연결할 수 있습니다. 이 시나리오에서는 사용자가 부모 도구 모음 단추를 선택하면 팝업 메뉴가 나타납니다.

팝업 메뉴가 바로 가기 메뉴인 경우 부모 도구 모음 단추가 없습니다.

CMFCPopupMenu::GetParentPopupMenu

부모 팝업 메뉴에 대한 포인터를 반환합니다.

CMFCPopupMenu* GetParentPopupMenu() const;

Return Value

부모 CMFCPopupMenu 개체에 대한 포인터입니다. 부모 팝업 메뉴가 없는 경우 NULL입니다.

설명

팝업 메뉴에는 하위 메뉴인 경우에만 부모 CMFCPopupMenu 개체가 있습니다.

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Return Value

설명

CMFCPopupMenu::GetParentToolBar

부모 도구 모음에 대한 포인터를 반환합니다.

CMFCToolBar* GetParentToolBar() const;

Return Value

부모 도구 모음에 대한 포인터입니다. 팝업 메뉴에 부모 도구 모음이 없으면 NULL입니다.

설명

CMFCPopupMenu 바로 가기 메뉴인 경우 부모 도구 모음이 없습니다.

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Return Value

설명

CMFCPopupMenu::GetSelItem

현재 선택한 메뉴 명령에 대한 포인터를 반환합니다.

CMFCToolBarMenuButton* GetSelItem();

Return Value

현재 선택한 메뉴 명령에 대한 포인터입니다. 항목이 선택되지 않은 경우 NULL입니다.

설명

팝업 메뉴의 메뉴 명령은 CMFCToolBarMenuButton 클래스 또는 에서 CMFCToolBarMenuButton파생된 클래스로 표시됩니다.

CMFCPopupMenu::HasBeenResized

BOOL HasBeenResized() const;

Return Value

설명

CMFCPopupMenu::HideRarelyUsedCommands

팝업 메뉴가 거의 사용되지 않는 명령을 숨길 수 있는지 여부를 나타냅니다.

BOOL HideRarelyUsedCommands() const;

Return Value

팝업 메뉴가 거의 사용되지 않는 명령을 숨길 수 있으면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 팝업 메뉴가 거의 사용되지 않는 명령을 숨길 수 있는지 여부만 지정합니다. 해당 구성을 사용하는 경우는 아닙니다. 부모 단추가 있고 부모 창이 CMFCMenuBar 클래스에서 파생된 경우 팝업 메뉴는 거의 사용되지 않는 명령을 숨길 수 있습니다. CMFCMenuBar::SetRecentlyUsedMenus를 사용하여 이 기능을 사용하도록 설정하고 CMFCMenuBar::IsRecentlyUsedMenus를 사용하여 이 기능이 현재 사용하도록 설정되어 있는지 확인합니다. 부모 창에 대해 이러한 메서드를 모두 호출해야 합니다.

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

Return Value

설명

CMFCPopupMenu::InsertItem

지정된 위치의 팝업 메뉴에 새 항목을 삽입합니다.

int InsertItem(
    const CMFCToolBarMenuButton& button,
    int iInsertA = -1);

매개 변수

단추
[in] 추가할 메뉴 항목에 대한 참조입니다.

iInsertAt
[in] 새 항목에 대한 인덱스(0부터 시작하는 인덱스)입니다. iInsertAt가 -1이면 항목이 메뉴 끝에 추가됩니다.

Return Value

항목이 삽입된 위치의 인덱스(0부터 시작하는 인덱스)입니다. 메서드가 실패하면 -1입니다.

설명

현재 팝업 메뉴에 있는 항목 수보다 큰 정수와 같이 iInsertAt에 잘못된 값을 제공하면 이 메서드가 실패합니다.

CMFCPopupMenu::InsertSeparator

지정한 위치의 팝업 메뉴에 구분 기호를 삽입합니다.

int InsertSeparator(int iInsertAt = -1);

매개 변수

iInsertAt
[in] 이 메서드가 구분 기호를 삽입할 위치의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

구분 기호가 삽입된 위치의 인덱스(0부터 시작하는 인덱스)입니다. 이 메서드가 실패하면 -1입니다.

설명

iInsertAt의 경우 -1 값은 이 메서드가 팝업 메뉴의 끝에 구분 기호를 추가함을 의미합니다.

iInsertAt가 잘못된 값이면 이 메서드가 실패합니다.

CMFCPopupMenu::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

Return Value

설명

CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Return Value

설명

CMFCPopupMenu::IsCustomizePane

팝업 메뉴가 QuickCustomizePane으로 작동하는지 여부를 나타냅니다.

BOOL IsCustomizePane();

Return Value

팝업이 QuckCustomizePane이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

QuickCustomizePane을 사용하여 사용자가 팝업 메뉴를 직접 사용자 지정할 수 있습니다. QuickCustomizePaneCMFCPopupMenu 사용자가 도구 모음 단추를 클릭하여 직접 편집할 때 나타나는 것입니다.

애플리케이션은 CMDIFrameWndEx::OnShowCustomizePane 중에 이 메서드를 호출해야 합니다.

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

Return Value

설명

CMFCPopupMenu::IsIdle

팝업 메뉴가 현재 유휴 상태인지 여부를 나타냅니다.

virtual BOOL IsIdle() const;

Return Value

팝업 메뉴가 유휴 모드인 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

기본적으로 팝업 메뉴는 표시 애니메이션이 완료되고 사용자가 팝업 메뉴를 스크롤하지 않는 경우 유휴 모드입니다.

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

Return Value

설명

CMFCPopupMenu::IsQuickCustomize

연결된 CMFCToolBarMenuButton 클래스 가 QuickCustomize 모드인지 여부를 확인합니다.

BOOL IsQuickCustomize();

Return Value

연결된 메뉴 단추가 QuickCustomize 모드인 경우 TRUE입니다. 그렇지 않으면 FALSE입니다. 팝업 메뉴가 에 연결되어 있지 않은 경우에도 이 메서드는 FALSE를 CMFCToolBarMenuButton반환합니다.

설명

QuickCustomize 모드에서 사용자는 도구 모음에서 단추를 선택하여 단추를 직접 사용자 지정합니다.

CMFCPopupMenu::IsResizeble

BOOL IsResizeble() const;

Return Value

설명

CMFCPopupMenu::IsRightAlign

메뉴가 오른쪽 맞춤인지 왼쪽 맞춤인지를 나타냅니다.

BOOL IsRightAlign() const;

Return Value

메뉴가 오른쪽 맞춤인 경우 TRUE입니다. 메뉴가 왼쪽 맞춤인 경우 FALSE입니다.

설명

CMFCPopupMenu::SetRightAlign을 사용하여 메뉴 맞춤을 설정할 수 있습니다. 기본적으로 팝업 메뉴는 왼쪽 맞춤을 사용합니다.

메뉴 맞춤은 전역 설정이 아니며 팝업 메뉴마다 다를 수 있습니다.

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

Return Value

설명

CMFCPopupMenu::IsSendMenuSelectMsg

사용자가 팝업 메뉴에서 명령을 선택할 때 프레임워크가 부모 프레임에 알릴지 여부를 나타냅니다.

static BOOL IsSendMenuSelectMsg();

Return Value

프레임워크가 부모 프레임에 알리면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

프레임워크는 사용된 항목이 메뉴 명령을 선택할 때 WM_MENUSELECT 메시지를 전송하여 부모 프레임에 알립니다.

CMFCPopupMenu::IsShown

팝업 메뉴가 현재 표시되는지 여부를 나타냅니다.

BOOL IsShown() const;

Return Value

팝업 메뉴가 표시되면 TRUE이고, 그렇지 않으면 FALSE입니다.

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

매개 변수

[in] Pt

설명

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

매개 변수

[in] nHot

설명

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

매개 변수

[in] uidCmdID

설명

CMFCPopupMenu::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

매개 변수

[in] Nid
[in] nCode
[in] pExtra
[in] pHandlerInfo

Return Value

설명

CMFCPopupMenu::P ostCommand

BOOL PostCommand(UINT uiCommandID);

매개 변수

[in] uiCommandID

Return Value

설명

CMFCPopupMenu::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

매개 변수

[in] pMsg

Return Value

설명

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

매개 변수

[in] bNotify

설명

CMFCPopupMenu::RemoveAllItems

팝업 메뉴에서 모든 항목을 지웁니다.

void RemoveAllItems();

CMFCPopupMenu::RemoveItem

팝업 메뉴에서 지정된 항목을 제거합니다.

BOOL RemoveItem(int iIndex);

매개 변수

iIndex
[in] 삭제할 항목의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 항목 제거의 영향을 받는 모든 구분 기호를 자동으로 정렬합니다. 프레임워크가 구분 기호를 다시 정렬하는 방법에 대한 자세한 내용은 CMFCToolBar::RemoveButton을 참조하세요.

CMFCPopupMenu::SaveState

virtual void SaveState();

설명

CMFCPopupMenu::SetAnimationSpeed

팝업 메뉴의 애니메이션 속도를 설정합니다.

static void SetAnimationSpeed(UINT nElapse);

매개 변수

nElapse
[in] 새 애니메이션 속도(밀리초)입니다.

설명

애니메이션 속도는 전역 값이며 애플리케이션의 모든 팝업 메뉴에 영향을 줍니다. 이 값은 팝업 메뉴가 완료되는 데 걸리는 시간을 지정합니다.

기본적으로 이 매개 변수는 30밀리초로 설정됩니다. nElapse유효한 값 범위는 0에서 200까지입니다.

CMFCPopupMenu::SetAnimationType

이 팝업 메뉴의 애니메이션 유형을 설정합니다.

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

매개 변수

type
[in] 애니메이션의 형식을 지정하는 열거형 데이터 형식입니다.

설명

형식에 대한 유효한 값 목록은 CMFCPopupMenu::GetAnimationType참조하세요.

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

매개 변수

[in] bAutoDestroy

설명

CMFCPopupMenu::SetDefaultItem

팝업 메뉴의 기본 명령을 설정합니다.

void SetDefaultItem(UINT uiCmd);

매개 변수

uiCmd
[in] 새 기본 명령의 메뉴 명령 ID입니다.

설명

팝업 메뉴의 기본 명령은 팝업 메뉴가 나타날 때 선택된 명령입니다.

CMFCPopupMenu::SetForceMenuFocus

팝업 메뉴가 표시되면 입력 포커스가 메뉴 모음으로 돌아가도록 합니다.

static void SetForceMenuFocus(BOOL bValue);

매개 변수

bValue
[in] 팝업 메뉴가 표시될 때 프레임워크에서 입력 포커스를 메뉴 모음에 강제로 적용하려면 TRUE입니다. 팝업 메뉴가 포커스를 유지하도록 하려면 FALSE입니다.

설명

이 메서드는 애플리케이션의 모든 팝업 메뉴에 대해 전역 플래그를 설정합니다. 기본적으로 이 기능은 사용하도록 설정되지 않습니다.

CMFCPopupMenu::SetForceShadow

팝업 메뉴가 기본 프레임 외부에 표시되면 프레임워크에서 메뉴 그림자를 강제로 그립니다.

static void SetForceShadow(BOOL bValue);

매개 변수

bValue
[in] 프레임워크에서 메뉴 그림자를 그리려면 TRUE, 그렇지 않으면 FALSE입니다.

설명

이 메서드를 호출하면 애플리케이션에서 전역 플래그가 설정됩니다. 이 플래그는 애플리케이션의 모든 팝업 메뉴에 영향을 줍니다.

CMFCPopupMenu::SetMaxWidth

팝업 메뉴의 최대 너비를 설정합니다.

void SetMaxWidth(int iMaxWidth);

매개 변수

iMaxWidth
[in] 팝업 메뉴의 최대 너비(픽셀)입니다.

설명

메뉴 명령과 연결된 텍스트가 최대 너비에 맞지 않으면 잘리고 맞지 않는 부분은 세 개의 점으로 바뀝니다.

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

매개 변수

[in] pMsgWnd

설명

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

매개 변수

[in] pElem

설명

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

매개 변수

[in] 형식

설명

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

설명

CMFCPopupMenu::SetRightAlign

팝업 메뉴의 메뉴 맞춤을 설정합니다.

void SetRightAlign(BOOL bRightAlign = TRUE);

매개 변수

bRightAlign
[in] 메뉴 맞춤을 나타내는 부울입니다. TRUE는 오른쪽 맞춤을 나타내고, FALSE는 왼쪽 맞춤을 나타냅니다.

설명

기본적으로 모든 팝업 메뉴는 왼쪽에 정렬됩니다.

CMFCPopupMenu::SetSendMenuSelectMsg

사용자가 명령을 선택할 때 팝업 메뉴가 부모 프레임에 알릴지 여부를 제어하는 플래그를 설정합니다.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

매개 변수

bSet
[in] 팝업 메뉴가 부모 프레임에 알리면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

애플리케이션의 모든 팝업 메뉴에 대한 전역 옵션입니다. 사용하도록 설정된 경우 팝업 메뉴는 사용자가 명령을 선택할 때 부모 프레임에 WM_MENUSELECT 메시지를 보냅니다.

CMFCPopupMenu::ShowAllCommands

팝업 메뉴가 모든 명령을 표시하도록 합니다.

void ShowAllCommands();

설명

전역 설정이 아니며 현재 팝업 메뉴에만 영향을 줍니다.

CMFCPopupMenu::TriggerResize

void TriggerResize();

설명

CMFCPopupMenu::UpdateAllShadows

열려 있는 모든 팝업 메뉴의 그림자를 업데이트.

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

매개 변수

lprectScreen
[in] 업데이트할 영역을 화면 좌표로 지정하는 사각형입니다.

설명

이 메서드는 팝업 메뉴 애니메이션 컨트롤 또는 동적 콘텐츠가 있는 다른 창에 표시 되는 경우에 유용 합니다.

CMFCPopupMenu::UpdateShadow

팝업 메뉴의 그림자를 업데이트.

void UpdateShadow(LPRECT lprectScreen = NULL);

매개 변수

lprectScreen
[in] 업데이트할 영역의 경계를 지정하는 사각형(화면 좌표)입니다.

설명

그림자가 있는 팝업 메뉴가 애니메이션 이미지와 겹치는 경우 이 메서드를 호출합니다.

참고 항목

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