다음을 통해 공유


CMFCDropDownToolbarButton 클래스

클릭할 때 일반 단추처럼 동작하는 도구 모음 단추의 한 종류입니다. 그러나 사용자가 도구 모음 단추를 누른 경우 드롭다운 도구 모음( CMFCDropDownToolBar 클래스 )이 열립니다.

구문

class CMFCDropDownToolbarButton : public CMFCToolBarButton

멤버

공용 생성자

속성 설명
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton CMFCDropDownToolbarButton 개체를 생성합니다.
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton 소멸자

공용 메서드

이름 설명
CMFCDropDownToolbarButton::CopyFrom 다른 도구 모음 단추의 속성을 현재 단추에 복사합니다. (재정의 CMFCToolBarButton::CopyFrom.)
CMFCDropDownToolbarButton::CreateObject 프레임워크에서 이 클래스 형식의 동적 인스턴스를 만드는 데 사용합니다.
CMFCDropDownToolbarButton::D ropDownToolbar 드롭다운 도구 모음을 엽니다.
CMFCDropDownToolbarButton::ExportToMenuButton 도구 모음 단추에서 메뉴로 텍스트를 복사합니다. (재정의 CMFCToolBarButton::ExportToMenuButton.)
CMFCDropDownToolbarButton::GetDropDownToolBar 단추와 연결된 드롭다운 도구 모음을 검색합니다.
CMFCDropDownToolbarButton::GetThisClass 프레임워크에서 이 클래스 형식과 연결된 CRuntimeClass 개체에 대한 포인터를 가져오는 데 사용됩니다.
CMFCDropDownToolbarButton::IsDropDown 드롭다운 도구 모음이 현재 열려 있는지 여부를 확인합니다.
CMFCDropDownToolbarButton::IsExtraSize 확장된 테두리를 사용하여 단추를 표시할 수 있는지 여부를 결정합니다. (재정의 CMFCToolBarButton::IsExtraSize.)
CMFCDropDownToolbarButton::OnCalculateSize 프레임워크에서 지정된 디바이스 컨텍스트 및 도킹 상태에 대한 단추 크기를 계산하기 위해 호출됩니다. (재정의 CMFCToolBarButton::OnCalculateSize.)
CMFCDropDownToolbarButton::OnCancelMode WM_CANCELMODE 메시지를 처리하기 위해 프레임워크에서 호출됩니다. ( CMCToolBarButton::OnCancelMode을 재정의합니다.)
CMFCDropDownToolbarButton::OnChangeParentWnd 단추가 새 도구 모음에 삽입될 때 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnChangeParentWnd.)
CMFCDropDownToolbarButton::OnClick 사용자가 마우스 단추를 클릭할 때 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnClick.)
CMFCDropDownToolbarButton::OnClickUp 사용자가 마우스 단추를 놓을 때 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnClickUp.)
CMFCDropDownToolbarButton::OnContextHelp 부모 도구 모음이 WM_HELPHITTEST 메시지를 처리할 때 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnContextHelp.)
CMFCDropDownToolbarButton::OnCustomizeMenu 애플리케이션이 부모 도구 모음에 바로 가기 메뉴를 표시할 때 제공된 메뉴를 수정합니다. (재정의 CMFCToolBarButton::OnCustomizeMenu.)
CMFCDropDownToolbarButton::OnDraw 지정된 스타일 및 옵션을 사용하여 단추를 그리기 위해 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnDraw.)
CMFCDropDownToolbarButton::OnDrawOnCustomizeList 사용자 지정 대화 상자의 명령 창에서 단추를 그리기 위해 프레임워크에서 호출됩니다. (재정의 CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCDropDownToolbarButton::Serialize 보관 파일에서 이 개체를 읽거나 보관 파일에 씁니다. (재정의 CMFCToolBarButton::Serialize.)
CMFCDropDownToolbarButton::SetDefaultCommand 사용자가 단추를 클릭할 때 프레임워크에서 사용하는 기본 명령을 설정합니다.

데이터 멤버

이름 설명
CMFCDropDownToolbarButton::m_uiShowBarDelay 드롭다운 도구 모음이 나타나기 전에 사용자가 마우스 단추를 누른 상태로 유지해야 하는 시간을 지정합니다.

설명

단추 CMFCDropDownToolBarButton 의 오른쪽 아래 모서리에 작은 화살표가 있다는 점에서 일반 단추와 다릅니다. 사용자가 드롭다운 도구 모음에서 단추를 선택하면 프레임워크는 최상위 도구 모음 단추(오른쪽 아래 모서리에 작은 화살표가 있는 단추)에 아이콘을 표시합니다.

드롭다운 도구 모음을 구현하는 방법에 대한 자세한 내용은 CMFCDropDownToolBar 클래스를 참조 하세요.

개체를 CMFCDropDownToolBarButton CMFCToolBarMenuButton 클래스 개체로 내보내고 팝업 메뉴가 있는 메뉴 단추로 표시할 수 있습니다.

상속 계층 구조

CObject

CMFCToolBarButton

CMFCDropDownToolbarButton

요구 사항

헤더: afxdropdowntoolbar.h

CMFCDropDownToolbarButton::CopyFrom

다른 도구 모음 단추의 속성을 현재 단추에 복사합니다.

virtual void CopyFrom(const CMFCToolBarButton& src);

매개 변수

src
[in] 복사할 원본 단추에 대한 참조입니다.

설명

다른 도구 모음 단추를 이 도구 모음 단추에 복사하려면 이 메서드를 호출합니다. src 는 형식 CMFCDropDownToolbarButton이어야 합니다.

CMFCDropDownToolbarButton::CMFCDropDownToolbarButton

CMFCDropDownToolbarButton 개체를 생성합니다.

CMFCDropDownToolbarButton();

CMFCDropDownToolbarButton(
    LPCTSTR lpszName,
    CMFCDropDownToolBar* pToolBar);

매개 변수

lpszName
[in] 단추의 기본 텍스트입니다.

pToolBar
[in] 사용자가 단추를 누를 때 표시되는 개체에 대한 포인터 CMFCDropDownToolBar 입니다.

설명

생성자의 두 번째 오버로드는 pToolBar에서 지정하는 도구 모음의 첫 번째 단추를 드롭다운 단추로 복사합니다.

일반적으로 드롭다운 도구 모음 단추는 pToolBar에서 지정하는 도구 모음에서 가장 최근에 사용한 단추의 텍스트를 사용합니다. 단추가 메뉴 단추로 변환되거나 사용자 지정 대화 상자의 명령에 표시될 때 lpszName에서 지정한 텍스트를 사용합니다. 사용자 지정 대화 상자에 대한 자세한 내용은 CMFCToolBarsCustomizeDialog 클래스를 참조하세요.

예시

다음 예제에서는 클래스의 개체를 생성하는 방법을 보여 줍니다 CMFCDropDownToolbarButton . 이 코드 조각은 Visual Studio 데모 샘플일부입니다.

// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));

드롭다운 도구 모음을 엽니다.

BOOL DropDownToolbar(CWnd* pWnd);

매개 변수

pWnd
[in] 드롭다운 프레임의 부모 창이거나, 드롭다운 도구 모음 단추의 부모 창을 사용할 NULL입니다.

Return Value

메서드가 성공하면 0이 아닌 경우 그렇지 않으면 0입니다.

설명

CMFCDropDownToolbarButton::OnClick 메서드는 사용자가 도구 모음 단추를 누를 때 드롭다운 도구 모음을 열기 위해 이 메서드를 호출합니다.

이 메서드는 CMFCDropDownFrame::Create 메서드를 사용하여 드롭다운 도구 모음을 만듭니 다. 부모 도구 모음이 세로로 도킹된 경우 이 메서드는 맞춤에 따라 드롭다운 도구 모음을 부모 도구 모음의 왼쪽 또는 오른쪽에 배치합니다. 그렇지 않으면 이 메서드는 드롭다운 도구 모음을 부모 도구 모음 아래에 배치합니다.

pWnd가 NULL이고 드롭다운 도구 모음 단추에 부모 창이 없으면 이 메서드가 실패합니다.

CMFCDropDownToolbarButton::ExportToMenuButton

도구 모음 단추에서 메뉴로 텍스트를 복사합니다.

virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;

매개 변수

menuButton
[in] 대상 메뉴 단추에 대한 참조입니다.

Return Value

메서드가 성공하면 0이 아니고, 실패하면 0입니다.

설명

이 메서드는 기본 클래스 구현( CMFCToolBarButton::ExportToMenuButton)을 호출한 다음 대상 메뉴 단추에 이 단추의 각 도구 모음 메뉴 항목이 포함된 팝업 메뉴를 추가합니다. 이 메서드는 팝업 메뉴에 하위 메뉴를 추가하지 않습니다.

부모 도구 모음 m_pToolBar이 NULL이거나 기본 클래스 구현이 FALSE를 반환하는 경우 이 메서드가 실패합니다.

CMFCDropDownToolbarButton::GetDropDownToolBar

단추와 연결된 드롭다운 도구 모음을 검색합니다.

CMFCToolBar* GetDropDownToolBar() const;

Return Value

단추와 연결된 드롭다운 도구 모음입니다.

설명

이 메서드는 데이터 멤버를 반환합니다 m_pToolBar .

CMFCDropDownToolbarButton::IsDropDown

드롭다운 도구 모음이 현재 열려 있는지 여부를 확인합니다.

BOOL IsDropDown() const;

Return Value

드롭다운 도구 모음이 현재 열려 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

프레임워크는 CMFCDropDownToolbarButton::D ropDownToolbar 메서드를 사용하여 드롭다운 도구 모음 을 엽니다. 프레임워크는 사용자가 드롭다운 도구 모음의 클라이언트가 아닌 영역에서 마우스 왼쪽 단추를 누르면 드롭다운 도구 모음을 닫습니다.

CMFCDropDownToolbarButton::IsExtraSize

확장된 테두리를 사용하여 단추를 표시할 수 있는지 여부를 결정합니다.

virtual BOOL IsExtraSize() const;

Return Value

도구 모음 단추를 확장된 테두리로 표시할 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

확장된 테두리에 대한 자세한 내용은 CMFCToolBarButton::IsExtraSize를 참조 하세요.

CMFCDropDownToolbarButton::m_uiShowBarDelay

드롭다운 도구 모음이 나타나기 전에 사용자가 마우스 단추를 누른 상태로 유지해야 하는 시간을 지정합니다.

static UINT m_uiShowBarDelay;

설명

지연 시간은 밀리초 단위로 측정됩니다. 기본값은 500입니다. 이 공유 데이터 멤버의 값을 변경하여 또 다른 지연을 설정할 수 있습니다.

CMFCDropDownToolbarButton::OnCalculateSize

프레임워크에서 지정된 디바이스 컨텍스트 및 도킹 상태에 대한 단추 크기를 계산하기 위해 호출됩니다.

virtual SIZE OnCalculateSize(
    CDC* pDC,
    const CSize& sizeDefault,
    BOOL bHorz);

매개 변수

pDC
[in] 단추를 표시하는 디바이스 컨텍스트입니다.

sizeDefault
[in] 단추의 기본 크기입니다.

bHorz
[in] 부모 도구 모음의 도킹 상태입니다. 이 매개 변수는 도구 모음이 가로로 도킹되거나 부동하는 경우 TRUE이고, 도구 모음이 세로로 도킹된 경우 FALSE입니다.

Return Value

SIZE 단추의 크기를 픽셀 단위로 포함하는 구조체입니다.

설명

이 메서드는 단추 크기의 가로 크기에 드롭다운 화살표의 너비를 추가하여 기본 클래스 구현( CMFCToolBarButton::OnCalculateSize)을 확장합니다.

CMFCDropDownToolbarButton::OnChangeParentWnd

단추가 새 도구 모음에 삽입될 때 프레임워크에서 호출됩니다.

virtual void OnChangeParentWnd(CWnd* pWndParent);

매개 변수

pWndParent
[in] 새 부모 창입니다.

설명

이 메서드는 텍스트 레이블(CMFCToolBarButton::m_strText)을 지우고 CMFCToolBarButton::m_bText 및 CMFCToolBarButton::m_bUserButton 데이터 멤버를 FALSE로 설정하여 기본 클래스 구현(CMFCToolBarButton::OnChangeParentWnd)을 재정의합니다.

CMFCDropDownToolbarButton::OnClick

사용자가 마우스 단추를 클릭할 때 프레임워크에서 호출됩니다.

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

매개 변수

pWnd
[in] 도구 모음 단추의 부모 창입니다.

bDelay
[in] 메시지를 지연으로 처리해야 하는 경우 TRUE입니다.

Return Value

단추가 클릭 메시지를 처리하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 메서드는 드롭다운 도구 모음의 상태를 업데이트하여 기본 클래스 구현 CMFCToolBarButton ::OnClick을 확장합니다.

사용자가 도구 모음 단추를 클릭하면 이 메서드는 CMFCDropDownToolbarButton::m_uiShowBarDelay 데이터 멤버로 지정된 시간 길이를 기다리는 타이머를 만든 다음 CMFCDropDownToolbarButton::D ropDownToolbar 메서드를 사용하여 드롭다운 도구 모음을 엽니다. 이 메서드는 사용자가 도구 모음 단추를 두 번째로 클릭할 때 드롭다운 도구 모음을 닫습니다.

CMFCDropDownToolbarButton::OnClickUp

사용자가 마우스 단추를 놓을 때 프레임워크에서 호출됩니다.

virtual BOOL OnClickUp();

Return Value

단추가 클릭 메시지를 처리하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 메서드는 드롭다운 도구 모음의 상태를 업데이트하여 기본 클래스 구현인 CMFCToolBarButton::OnClickUp을 확장합니다.

이 메서드는 활성 상태인 경우 드롭다운 도구 모음 타이머를 중지합니다. 열려 있는 경우 드롭다운 도구 모음을 닫습니다.

드롭다운 도구 모음 및 드롭다운 도구 모음 타이머에 대한 자세한 내용은 CMFCDropDownToolbarButton::OnClick을 참조하세요.

CMFCDropDownToolbarButton::OnContextHelp

부모 도구 모음이 WM_HELPHITTEST 메시지를 처리할 때 프레임워크에서 호출됩니다.

virtual BOOL OnContextHelp(CWnd* pWnd);

매개 변수

pWnd
[in] 도구 모음 단추의 부모 창입니다.

Return Value

단추가 도움말 메시지를 처리하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 메서드는 bDelay가 FALSE로 설정된 CMFCDropDownToolbarButton::OnClick 메서드를 호출하여 기본 클래스 구현(CMFCToolBarButton::OnContextHelp)을 확장합니다. 이 메서드는 CMFCDropDownToolbarButton::OnClick에서 반환되는 값을 반환합니다.

WM_HELPHITTEST 메시지에 대한 자세한 내용은 TN028: 상황에 맞는 도움말 지원을 참조 하세요.

CMFCDropDownToolbarButton::OnCustomizeMenu

애플리케이션이 부모 도구 모음에 바로 가기 메뉴를 표시할 때 제공된 메뉴를 수정합니다.

virtual BOOL OnCustomizeMenu(CMenu* pMenu);

매개 변수

pMenu
[in] 사용자 지정할 메뉴입니다.

Return Value

이 메서드는 TRUE를 반환합니다.

설명

이 메서드는 다음 메뉴 항목을 사용하지 않도록 설정하여 기본 클래스 구현( CMFCToolBarButton::OnCustomizeMenu)을 확장합니다.

  • 복사 단추 이미지

  • 단추 모양

  • 이미지

  • Text

  • 이미지 및 텍스트

프레임워크가 사용자 지정 모드로 표시하는 바로 가기 메뉴를 수정하려면 이 메서드를 재정의합니다.

CMFCDropDownToolbarButton::OnDraw

지정된 스타일 및 옵션을 사용하여 단추를 그리기 위해 프레임워크에서 호출됩니다.

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);

매개 변수

pDC
[in] 단추를 표시하는 디바이스 컨텍스트입니다.

rect
[in] 단추의 경계 사각형입니다.

pImages
[in] 단추와 연결된 도구 모음 이미지의 컬렉션입니다.

bHorz
[in] 부모 도구 모음의 도킹 상태입니다. 이 매개 변수는 단추가 가로로 도킹된 경우 TRUE이고 단추가 세로로 도킹되면 FALSE입니다.

bCustomizeMode
[in] 도구 모음이 사용자 지정 모드인지 여부를 지정합니다. 이 매개 변수는 도구 모음이 사용자 지정 모드에 있는 경우 TRUE이고 도구 모음이 사용자 지정 모드가 아닌 경우 FALSE입니다.

bHighlight
[in] 단추가 강조 표시되는지 여부를 지정합니다. 이 매개 변수는 단추가 강조 표시된 경우 TRUE이고 단추가 강조 표시되지 않으면 FALSE입니다.

bDrawBorder
[in] 단추에 테두리를 표시할지 여부를 지정합니다. 이 매개 변수는 단추가 테두리를 표시해야 하는 경우 TRUE이고 단추에 테두리가 표시되지 않아야 하는 경우 FALSE입니다.

bGrayDisabledButtons
[in] 비활성화된 단추를 음영 처리할지 또는 비활성화된 이미지 컬렉션을 사용할지 여부를 지정합니다. 이 매개 변수는 비활성화된 단추를 음영 처리해야 하는 경우 TRUE이고, 이 메서드에서 사용할 수 없는 이미지 컬렉션을 사용해야 하는 경우 FALSE입니다.

설명

도구 모음 단추 그리기를 사용자 지정하려면 이 메서드를 재정의합니다.

CMFCDropDownToolbarButton::OnDrawOnCustomizeList

사용자 지정 대화 상자의 명령 창에서 단추를 그리기 위해 프레임워크에서 호출됩니다.

virtual int OnDrawOnCustomizeList(
    CDC* pDC,
    const CRect& rect,
    BOOL bSelected);

매개 변수

pDC
[in] 단추를 표시하는 디바이스 컨텍스트입니다.

rect
[in] 단추의 경계 사각형입니다.

bSelected
[in] 단추가 선택되었는지 여부입니다. 이 매개 변수가 TRUE이면 단추가 선택됩니다. 이 매개 변수가 FALSE이면 단추가 선택되지 않습니다.

Return Value

지정된 디바이스 컨텍스트에 있는 단추의 너비(픽셀)입니다.

설명

이 메서드는 사용자 지정 대화 상자( 명령 탭)에서 호출됩니다. 이때 단추를 소유자 그리기 목록 상자에 표시해야 합니다.

이 메서드는 단추의 텍스트 레이블을 단추 이름(즉, 생성자에 전달한 lpszName 매개 변수 값)으로 변경하여 기본 클래스 구현(CMFCToolBarButton::OnDrawOnCustomizeList)을 확장합니다.

CMFCDropDownToolbarButton::Serialize

보관 파일에서 이 개체를 읽거나 보관 파일에 씁니다.

virtual void Serialize(CArchive& ar);

매개 변수

ar
[in] CArchive serialize할 개체 또는 직렬화할 개체입니다.

설명

이 메서드는 부모 도구 모음의 리소스 ID를 serialize하여 기본 클래스 구현( CMFCToolBarButton::Serialize)을 확장합니다. 보관이 로드될 때( CArchive::IsLoading 이 0이 아닌 값을 반환함) 이 메서드는 데이터 멤버를 serialize된 리소스 ID가 포함된 도구 모음으로 설정합니다 m_pToolBar .

CMFCDropDownToolbarButton::SetDefaultCommand

사용자가 단추를 클릭할 때 프레임워크에서 사용하는 기본 명령을 설정합니다.

void SetDefaultCommand(UINT uiCmd);

매개 변수

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

설명

이 메서드를 호출하여 사용자가 단추를 클릭할 때 프레임워크가 실행하는 기본 명령을 지정합니다. uiCmd로 지정된 명령 ID가 있는 항목은 부모 드롭다운 도구 모음에 있어야 합니다.

참고 항목

계층 구조 차트
클래스
CMFCDropDownToolBar 클래스
CMFCToolBar 클래스
CMFCToolBarMenuButton 클래스
연습: 도구 모음에 컨트롤 배치