이 팝업메뉴의 구현방법이 궁금합니다. (Windows 11)

image

OS: Windows 11

첨부한 사진은 한글입력기의 ‘가’ 부분(버튼)의 우클릭시 나타나는 메뉴입니다.

굳이 이 부분이 아니더라도, 기타 TaskBar(작업표시줄)의 아이콘에서 우클릭을 하면 비슷한 형태의 팝업메뉴가 나타나는데,
작업표시줄의 일반 아이콘의 우클릭시 나타나는 메뉴는 'Jump List’라고 따로 명칭이 있는거 같습니다.
하지만, 한글입력기의 팝업은 Jump list와는 ‘서브메뉴’ 가 있는것이 조금 달라보입니다.

이러한 팝업UI를 각 앱별로 각각 구현하는것 같지는 않고,
뭔가 COM Interface 를 구현한 것이 아닌가…하는 추측이 됩니다.

C++로 구현 중 막혀서 질문드리지만,
C#이라도 해결의 실마리를 주시면 찾아들어갈 수 있을것 같습니다.
고수님들의 조언을 바랍니다. ~~~

1개의 좋아요

이건 기본적인 contextmenu 일텐데요.
말씀하시는 jumplist는 작업표시줄의 프로세스에서 마우스오른쪽을 했을때 나오는 특수메뉴들입니다.
단순히 종료, 활성화 외에 vs2022 같은걸 예로 든다면 최근에 연 솔루션 이름들 이런것들이 나올수 있겠죠.

저건 시스템 트레이에 나오는 부분이라서 다릅니다. 기본적으로 마우스 오른쪽을 통한 contextmenu 가 되는거고 그외에 onedrive 같은 경우는 custom 창이 뜨기도 합니다.

윗분이 말씀해주신대로
c#에서는
menuitem과 contextmenu라는
2개를 사용하여 기능을 구현합니다

ex)
ContextMenu cm = new ContextMenu();
MenuItem mi = new MenuItem(“종료”);
cm.MenuItems.Add(mi);
mi.Click += (obj, ev) => { this.Close(); };

핸드폰으로 친거라 틀린게 있을수도 있습니다

위 두분 모두 설명 감사드립니다.
저는 IContextMenu를 구현해서 COM Server로 등록하는 방식으로 예상했는데…
그게 아난가 보네요…
(이렇게도 해봤는데, 뭐 전혀 반응이 없어서 질문을 했습니다…^^)