관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

TrackPopupMenuEx 본문

Ntool Works/작업 참조

TrackPopupMenuEx

님투 2007. 11. 8. 23:33
반응형

TrackPopupMenuEx

지정된 좌표에 쇼트 컷 메뉴를 표시합니다.쇼트 컷 메뉴는, 스크린상의 어느 위치에라도 표시시킬 수 있습니다.

BOOL TrackPopupMenuEx(
    HMENU hMenu,       // 메뉴 핸들
    UINT  fuFlags,     // 옵션 플래그
    int   x,           // x좌표
    int   y,           // y좌표
    HWND  hWnd,        // 윈도우 핸들
    LPTPMPARAMS ptpm   // 오버랩 금지 범위
);

USER32.DLL

인수

hMenu

표시되는 쇼트 컷 메뉴의 핸들을 지정합니다.이 쇼트 컷 메뉴는 CreatePopupMenu 함수에 의해서 작성된 쇼트 컷 메뉴인가, 또는 GetSubMenu 함수에 의해서 취득된 기존의 메뉴 아이템에 관련지을 수 있고 있는 부메뉴입니다.

fuFlags

함수의 옵션을 지정합니다.

수평 방향의 표시 위치를 다음의 어느쪽이든으로 지정합니다.

의미
0x0000 (TPM_LEFTALIGN)

x 파라미터가 쇼트 컷 메뉴의 좌단의 x 좌표가 되도록 표시됩니다.(디폴트)

0x0004 (TPM_CENTERALIGN)

x 파라미터가 쇼트 컷 메뉴의 중앙의 x 좌표가 되도록 표시됩니다.

0x0008 (TPM_RIGHTALIGN)

x 파라미터가 쇼트 컷 메뉴의 우단의 x 좌표가 되도록 표시됩니다.

수직 방향의 표시 위치를 다음의 어느쪽이든으로 지정합니다.

의미
0x0000 (TPM_TOPALIGN)

y 파라미터가 쇼트 컷 메뉴의 상단의 y 좌표가 되도록 표시됩니다.(디폴트)

0x0010 (TPM_VCENTERALIGN)

y 파라미터가 쇼트 컷 메뉴의 중앙의 y 좌표가 되도록 표시됩니다.

0x0020 (TPM_BOTTOMALIGN)

y 파라미터가 쇼트 컷 메뉴의 하단의 y 좌표가 되도록 표시됩니다.

메뉴가 오너 윈도우를 가지지 않는 경우의 동작은, 다음의 어느쪽이든으로 지정합니다.

의미
0x0080 (TPM_NONOTIFY)

아이템이 클릭되었을 때, 통지 메세지를 보내지 않습니다.

0x0100 (TPM_RETURNCMD)

함수의 반환값으로서 선택된 메뉴 아이템의 ID (을)를 돌려줍니다.

메뉴 선택의 마우스에 관한 처리에 대해서, 다음의 어느쪽이든을 지정합니다.

의미
0x0000 (TPM_LEFTBUTTON)

메뉴 아이템을 마우스의 왼쪽 버튼으로 선택합니다.(디폴트)

0x0002 (TPM_RIGHTBUTTON)

메뉴 아이템을 마우스의 좌우 양쪽 모두의 버튼으로 선택할 수 있도록 합니다.

오버랩 했을 경우의 동작을, 다음의 어느쪽이든으로 지정합니다.

의미
0x0000 (TPM_HORIZONTAL)

메뉴가 ptpm 파라미터로 지정한 영역에 오버랩 하는 경우, 메뉴를 수평 방향으로 이동합니다.(디폴트)

0x0040 (TPM_VERTICAL)

메뉴가 ptpm 파라미터로 지정한 영역에 오버랩 하는 경우, 메뉴를 수직 방향으로 이동합니다.

x, y

쇼트 컷 메뉴를 표시시키는 좌표를 화면 좌표계로 지정합니다.

hWnd

쇼트 컷 메뉴를 소유하는 오너 윈도우의 핸들을 지정합니다.메뉴로부터 보내지는 메세지의 모든 것이 이 윈도우에 보내집니다.메뉴 아이템이 선택되면 WM_COMMAND 메세지가 보내집니다.

fuFlags 파라미터에 0x0080 (TPM_NONOTIFY) (을)를 지정했을 경우는, 윈도우에 메세지는 보내지지 않습니다.다만, 그 경우에서도 이 파라미터에 유효한 윈도우 핸들을 지정하지 않으면 안됩니다.이 경우는, 어플리케이션이 가지는 어느 윈도우의 핸들에서도 지정할 수 있습니다.

ptpm

메뉴를 오버랩 시키지 않는 영역의 좌표를 격납했다 TPMPARAMS 구조체의 주소를 지정합니다.이 파라미터가 불필요한 경우는 0 (NULL) (을)를 지정할 수 있습니다.

반환값

성공하면 0 이외의 값이 돌아갑니다.

실패하면 0 하지만 돌아갑니다.확장 에러 정보를 취득하려면 , GetLastError 함수를 사용합니다.

fuFlags 파라미터에 0x0100 (TPM_RETURNCMD)(을)를 지정했을 경우는 선택된 아이템의 ID 하지만 돌아갑니다.메뉴 아이템이 선택되지 않았던 경우는 0 하지만 돌아갑니다.

해설

태스크바의 스테이터스 에리어에 표시되는 통지 아이콘으로부터 context menu를 표시시키려면 , TrackPopupMenu 함수나 TrackPopupMenuEx 함수를 호출하기 전에 경향 윈도우가 foreground에 없으면 안됩니다.그렇게 하지 않으면, 메뉴 또는 그것을 작성한 윈도우의 외측의 부분을 클릭했을 때에, 메뉴가 표시된 채가 되어 버립니다.

대응 정보

Windows 95 이후 / Windows NT 4.0 이후

반응형

'Ntool Works > 작업 참조' 카테고리의 다른 글

WaitForMultipleObjects  (0) 2007.11.08
UnmapViewOfFile  (0) 2007.11.08
Sleep  (0) 2007.11.08
ShowWindow  (0) 2007.11.08
SHGetSpecialFolderLocation  (0) 2007.11.08
Comments