2011-02-11 3 views

답변

5

그들은 당신이 볼 수있는 '권리'정렬입니다. (의도 한 말장난 없음).

Right

이 메뉴의 기본 동작입니다. 다르게하려면 맞춤형 그림이 필요합니다.

2

모든 OS는 특정 모양과 느낌을 가지고 있으며, Windows의 다른 모든 응용 프로그램이 어떻게 보이는지를 칭찬하지 않는 꽤 좋은 이유가 있어야합니다. 문제를 해결하거나 OwnerDrawn 개 항목으로 메뉴를 확장 할 것입니다.

Here은 과목 잔존물입니다.

7

아, 나는 마침내이 작업을 수행하는 방법을 알아 냈다고 생각합니다. (오랜 시간 동안 당신이 두 개의 스크린 샷을 얻은 방법은 나를 혼란스럽게 만들었습니다 ...). 두 개의 개의 방법으로 Windows에서 드롭 다운 메뉴에서 바로 가기 키를 정렬하도록 지시 할 수 있습니다.

첫 번째 (그리고 아마도 대부분의 표준) 방식

메뉴 텍스트에 해당하는 문자열에 탭 문자 ( \t)를 삽입하는 것입니다. 이렇게하면 원래 질문에 표시된 하단 예제가 생성됩니다. 여기서는 모든 식별자가 왼쪽 정렬되고 약간 돌출 된 예제가 생성됩니다. 이것은 거의 모든 Microsoft 응용 프로그램의 표준이며 몇 분 전까지 만 알았던 유일한 옵션입니다.       The first option, created using a tab character delimiter, with shortcut key sequences left-aligned          

    샘플 리소스 문자열 : 두 번째 방법은 &Print…\tCtrl+P

는, 그래, 이상하게 것 (자원 문자열에 \a와 그 \t 이스케이프 시퀀스를 대체하는 일반적으로 alert bell을 나타냄). 이로 인해 Windows에서 오른쪽으로의 모든 바로 가기 키 시퀀스를 정렬하여 첫 번째 스크린 샷에 표시된 예제를 생성합니다. 이렇게하면 화면 공간을보다 효율적으로 사용하는 메뉴가 생성되지만 (작은 경우), 왼쪽 여백 아래의 각 바로 가기 키 시퀀스를 깔끔하게 정렬해야하는 부담이 따르기 때문에 약간의 가독성이 고려됩니다.       The second option, created using an '\a' delimiter, with shortcut key sequences right-aligned          

    샘플 리소스 문자열 : 그래서 당신이 당신의 메뉴 예, 혼동 배열 한 (원래 문제의 예처럼 보이게하려는 경우 &Print…\aCtrl+P

내 표본은 거꾸로.죄송합니다), 메뉴 항목 텍스트 문자열이 들어있는 리소스 파일에서 탭 문자 (\t)를 사용하여 바로 가기 키 시퀀스를 구분해야합니다.

이상한 점은 .NET WinForms를 사용하고 있다고 주장하는 것입니다. .NET WinForms는이 모든 것을 자동으로 처리하므로 (리소스 파일이 엉망으로되는 것을 막을 수 있습니다). 나는 그것이 탭 문자를 삽입한다는 사실을 알고 있으며, 내가 본 모든 메뉴는 을 생성한다.은 두 번째 예제와 같다.

가장 좋은 방법은 이전 버전의 .NET Framework에 포함 된 이전 MainMenu 컨트롤로 메뉴를 전환하는 것입니다. 이렇게하려면 도구 상자를 마우스 오른쪽 단추로 클릭하고 수동으로 컨트롤을 추가해야합니다. — Visual Studio의 이후 버전에서는 기본적으로이 컨트롤이 없습니다.) 그러면 원하는 맞춤 동작을 확인할 수 있습니다. 메모장과 같은 모든 표준 Windows 응용 프로그램과 일치합니다. 또한 현대 버전에서는 전혀 작동하지 않는 MenuStrip 컨트롤에 의해 생성 된 아마추어 모양의 소유자 그려진 메뉴가 아닌 기본 운영 체제 메뉴 (Vista 및 7에서는 파란색으로 그려져 있음)와 같은 메뉴를 생성합니다. Windows.

마이크로 소프트의 official documentation가하는 MainMenu control 여전히 향후 사용을 위해 지원됩니다, 그래서 당신의 애플 리케이션에서 사용 두려워 할 이유가 없다 확인. 내가보기 엔 모든 사람이 대신를 사용하는 것이 좋습니다 :

MenuStrip이 대체하고 이전 버전의 MAINMENU 제어 기능을 추가하지만

는 MAINMENU는 이전 버전과의 호환성 당신이 선택하면 나중에 사용할 수 있도록 모두 유지됩니다.

+1

AppendMenu (..., "Open & aCtrl + O")를 사용할 때 \ (알림 벨)이 작동하지 않습니다. , 당신은 'AppendMenu'(리소스 파일을 사용하지 않고)를 사용하여이 것을 사용하는 방법을 알고 있습니까? – dns

관련 문제