2010-04-08 6 views
0

Static Text, Checkbox 등 다양한 컨트롤을 사용하는 Win32 대화 상자에서 작업하고 있으며 모든 문자열을 다른 언어로 현지화해야합니다. 미국 intl에 대한 대화 상자를 설계했습니다. 하지만 현지화 된 문자열을 적절히 끼워 넣지 않으면 각 intl의 레이아웃을 변경해야합니다.win32 대화 상자를 현지화하는 방법은 무엇입니까?

더 좋은 방법이 있나요?

모든 Intsl에서 사용할 수있는 하나의 레이아웃으로 하나의 대화 상자를 만들 수 있습니까 ???

답변

1

나는 MS에서 GUI 리소스를 처음으로 레이아웃하는 동안 처음에는 독일어로 대화 상자를 만든 다음 적어도 영어와 일본어로 레이아웃을 다시 확인한다는 것을 기억합니다.

대화 상자 레이아웃이이 세 가지 언어를 수용하면 일반적으로 추가 레이아웃을 변경할 필요가 없습니다.

ShowHTMLDialog을 사용해보세요. 대화 상자 안팎으로 데이터를 가져 오는 검은 마법을 해결할 수 있다면 HTML은 텍스트 범위를 수용하도록 자동으로 조절되는 컨트롤의 장점을 가지고 있습니다.

0

나는 이전에 CDialog 이라는 파생 클래스를 구현했습니다. 그런 다음 을 OnInitdialog()에 전화했습니다. 내 응용 프로그램에서 모든 내 대화 상자는 CDialog 대신 CLanguageDialog에서 파생됩니다.

void CLanguageDialog::loadLanguage() 
{ 
    CWnd *pChild = this->FindWindowEx(this->m_hWnd, NULL, NULL, NULL); 

    while(pChild) 
    { 
     theApp.languageLoader.loadStringForWnd(pChild); 
     pChild = pChild->GetNextWindow(); 
    } 
} 
관련 문제