2011-01-31 8 views
0

Windows에서 메뉴를 열 때 화면의 위치는 상위 창의 위치 및 화면 해상도에 따라 다릅니다. 즉, 메뉴가 화면에 맞지 않으면 다른면으로 이동합니다. 이 메커니즘은 OS에서 어떻게 작동합니까? 화면 해상도가 실제 화면보다 작다는 것을 고려하여 화면 해상도 값을 대체 할 수 있습니까?창 메뉴의 위치 변경

드롭 다운 메뉴 및 상황에 맞는 메뉴를 창 영역에만 표시하려고합니다. 이제는 CBThook과 WndProc을 사용하여 나타나는 메뉴의 위치를 ​​다시 설명합니다. 아마도 더 쉽게 만들 수있는 방법이 있을까요?

+0

좋은 질문입니다. 여기에 첫 +1이 있습니다.) – BlackBear

+3

사람들이 왜 플랫폼에 간섭하고 싶어합니까? 네이티브 메뉴에 어떤 문제가 있습니까? –

+3

일단 전역 바늘을 알아 내면 * 모든 것을 어지럽히고 싶지 않으려면 힘들 것입니다. –

답변

1

TrackPopupMenuEx는 메뉴가 하지 중복, 나는 그런 당신이 원하는 것과 반대의 일종이다 생각해야한다고 화면에 사각형을 지정할 수 않습니다,하지만 당신은 끔찍한없이받을 예정으로는 가까이 해킹.

+1

또한 다양한 'ALIGN' 플래그가있어서 - 메뉴의 크기를 조정할 수 있습니다 ('GetMenuItemRect' 사용). 그러면 가장자리에 수동으로 배치하여 윈도우 내에 머물게하십시오. 그게 효과가있을 것 같아요. –