2011-08-18 9 views
1

MBCS로 컴파일 된 MFC 응용 프로그램이 있습니다. 또한 MFC 기능 팩의 CMFCMenuBar를 사용하여 메뉴를 표시합니다.유니 코드 문자 대신 내 메뉴에 물음표가 표시되는 이유는 무엇입니까?

내가 (this question에서) 다음 코드를 사용하여 내 메뉴

MENUITEMINFOW mi; 
mi.cbSize = sizeof(MENUITEMINFOW); 
mi.fMask = MIIM_ID | MIIM_TYPE; 
mi.fType = MFT_STRING; 
mi.wID = 34503; 
WCHAR text[128]; 
wcscpy_s(text,L"\u573F"); 
mi.dwTypeData = text; 
InsertMenuItemW(hMenu,1,true,&mi); 

(가) 잘 실행하고 InsertMenuItemW의 리턴 코드가 1에 유니 코드 문자를 추가하기 위해 노력하고 있어요,하지만 난 내 메뉴에 물음표를 얻을 수圿 대신

왜 물음표가 나옵니까?

나는

답변

5

프로그램이 MBCS 창, 유니 코드하지 창을 만드는 Windows7의 궁극을 실행하고 있습니다. 왜냐하면 CreateWindowExW() 대신 CreateWindowExW()를 사용하기 때문입니다. 이것을 Spy ++로 확인하십시오. 파인더 도구를 사용하여 프로그램에서 창을 선택하고 속성을 확인하십시오. CreateWindowExW()를 사용하여 창을 만든 경우 창에 "(유니 코드)"가 표시됩니다.

유니 코드로 이동할 시간.

+0

물론 MBCS 응용 프로그램이라는 확실한 힌트를 놓쳤습니다. 좋은 대답. –

관련 문제