LoadString的怎么确定load哪个语言的资源
LoadString的如何确定load哪个语言的资源?
比如:有一个字符串ID:IDS_STRING,我的rc中对应两个字符串,一个是简体中文的"字符串",另一个是英文的“String”,
那么LoadString如何判断它load哪一个字符串?
以前我认为是根据调用线程的locale来确定的,后来发现了问题。
设置“区域和语言选项”中的“区域选项”为“英文(美国)”,
然后调用SetThreadLocale设置区域语言为英文。
此时调用LoadString(IDS_STRING),得到的结果却是简体中文的“字符串”!!~~~
不知道LoadString函数到底是依据什么来确定它Load一种语言的资源,请大侠赐教!!!!!谢谢!!!
------解决方案--------------------
BOOL LoadString(
UINT nID );
只是将StringTable中ID为nID的字符串Load到你指定的CString变量中,如:
比如:有一个字符串ID:IDS_STRING,我的rc中对应两个字符串,一个是简体中文的"字符串",另一个是英文的“String”,
那么LoadString如何判断它load哪一个字符串?
以前我认为是根据调用线程的locale来确定的,后来发现了问题。
设置“区域和语言选项”中的“区域选项”为“英文(美国)”,
然后调用SetThreadLocale设置区域语言为英文。
此时调用LoadString(IDS_STRING),得到的结果却是简体中文的“字符串”!!~~~
不知道LoadString函数到底是依据什么来确定它Load一种语言的资源,请大侠赐教!!!!!谢谢!!!
------解决方案--------------------
BOOL LoadString(
UINT nID );
只是将StringTable中ID为nID的字符串Load到你指定的CString变量中,如:
- C/C++ code
#define IDS_FILENOTFOUND 1 CString s; if (! s.LoadString( IDS_FILENOTFOUND )) { AfxMessageBox("Error Loading String: IDS_FILENOTFOUND"); ... }
------解决方案--------------------