IContextMenuSite::D oContextMenuPopup 메서드(shobjidl_core.h)
[DoContextMenuPopup 은 Windows Server 2003을 기준으로 더 이상 사용할 수 없습니다.]
바로 가기 메뉴를 만들고 표시하고, 해당 메뉴에서 항목 선택을 추적하고, 선택한 명령을 호출합니다.
구문
HRESULT DoContextMenuPopup(
[in] IUnknown *punkContextMenu,
[in] UINT fFlags,
[in] POINT pt
);
매개 변수
[in] punkContextMenu
형식: IUnknown*
바로 가기 메뉴의 IUnknown 구현에 대한 포인터입니다.
[in] fFlags
형식: UINT
바로 가기 메뉴를 변경할 수 있는 방법을 지정하는 선택적 플래그입니다. 이 매개 변수는 다음 값의 조합으로 설정할 수 있습니다. 하위 단어의 나머지 비트는 시스템에서 예약됩니다. 고급 단어는 컨텍스트별 통신에 사용할 수 있습니다. CMF_RESERVED 값을 사용하여 낮은 순서의 단어를 마스킹할 수 있습니다.
CMF_NORMAL(0x00000000)
0x00000000. 정상 작업을 나타냅니다. 바로 가기 메뉴 확장, 네임스페이스 확장 또는 끌어서 놓기 처리기는 모든 메뉴 항목을 추가할 수 있습니다.
CMF_DEFAULTONLY(0x00000001)
0x00000001. 이 플래그는 사용자가 기본 작업을 활성화할 때 일반적으로 두 번 클릭하여 설정됩니다. 이 플래그는 메뉴에서 기본 항목을 수정하지 않으면 아무 것도 추가하지 않는 바로 가기 메뉴 확장에 대한 힌트를 제공합니다. 이 값을 지정하면 바로 가기 메뉴 확장 또는 끌어서 놓기 처리기가 메뉴 항목을 추가하지 않아야 합니다. 네임스페이스 확장은 기본 항목(있는 경우)만 추가해야 합니다.
CMF_VERBSONLY(0x00000002)
0x00000002. 바로 가기 메뉴가 바로 가기 개체의 경우 이 플래그가 설정됩니다. 바로 가기 메뉴 처리기는 이 값을 무시해야 합니다.
CMF_EXPLORE(0x00000004)
0x00000004. 이 플래그는 Windows Explorer 트리 창이 있을 때 설정됩니다.
CMF_NOVERBS(0x00000008)
0x00000008. 이 플래그는 보내기 메뉴에 표시되는 항목에 대해 설정 됩니다 . 바로 가기 메뉴 처리기는 이 값을 무시해야 합니다.
CMF_CANRENAME(0x00000010)
0x00000010. 호출 애플리케이션이 항목의 이름 바꾸기를 지원하는 경우 이 플래그가 설정됩니다. 바로 가기 메뉴 확장 또는 끌어서 놓기 처리기는 이 플래그를 무시해야 합니다. 네임스페이스 확장은 해당하는 경우 메뉴에 이름 바꾸기 항목을 추가해야 합니다.
CMF_NODEFAULT(0x00000020)
0x00000020. 메뉴의 항목이 기본값으로 설정되지 않은 경우 이 플래그가 설정됩니다. 끌어서 놓기 처리기는 이 플래그를 무시해야 합니다. 네임스페이스 확장은 메뉴 항목을 기본값으로 설정해서는 안 됩니다.
CMF_INCLUDESTATIC(0x00000040)
이 값을 사용할 수 없습니다.
Windows Server 2003 및 Windows XP: 0x00000040. 이 플래그는 정적 메뉴를 생성할 때 설정됩니다. 브라우저에서만 이 플래그를 사용해야 합니다. 다른 모든 바로 가기 메뉴 확장은 이 플래그를 무시해야 합니다.
CMF_ITEMMENU(0x00000080)
0x00000080. 이 플래그는 호출하는 애플리케이션이 보기의 배경이 아닌 보기의 항목에서 상황에 맞는 메뉴를 호출할 때 설정됩니다.
Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_EXTENDEDVERBS(0x00000100)
0x00000100. 이 플래그는 호출 애플리케이션에서 확장 동사를 원할 때 설정됩니다. 사용자가 개체를 마우스 오른쪽 단추로 클릭하면 일반 동사가 표시됩니다. 확장 동사를 표시하려면 Shift 키를 누르는 동안 마우스 오른쪽 단추를 클릭해야 합니다.
CMF_DISABLEDVERBS(0x00000200)
0x00000200. 이 플래그는 호출 애플리케이션이 레거시 메뉴와 같이 사용하지 않도록 설정된 동사를 호출하려고 할 때 설정됩니다.
Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_ASYNCVERBSTATE(0x00000400)
0x00000400. 동사 상태를 비동기적으로 평가할 수 있으면 이 플래그가 설정됩니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_OPTIMIZEFORINVOKE(0x00000800)
0x00000800. 정식 동사 이름을 통해 동사의 호출을 지원하지 않는 상황에 맞는 메뉴 처리기에 IContextMenu::QueryContextMenu 구현에서 해당 처리를 무시하도록 알립니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_SYNCCASCADEMENU(0x00001000)
0x00001000.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_DONOTPICKDEFAULT(0x00002000)
0x00001000. 동사를 명시적으로 지정하지 않으면 해당 위치에 기본 동사를 사용하지 마세요.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값을 사용할 수 없습니다.
CMF_RESERVED(0xffff0000)
0xffff0000. 이 플래그는 사용해서는 안 되는 모든 비트를 지정하는 비트 마스크입니다. 이는 마스크로만 사용됩니다. 이를 매개 변수 값으로 전달하지 마세요.
[in] pt
형식: POINT
바로 가기 메뉴를 표시할 위치입니다. 이 점은 화면 좌표에서 메뉴의 왼쪽 위 모서리 위치를 지정합니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 성공하지 않으면 HRESULT 오류 코드를 반환합니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |
DLL | Shell32.dll(버전 5.0 이상) |