好吧,所以我最近做出了将我的应用程序中的每个字符串放入STRINGTABLE的决定,所以我可以很容易地翻译成不同的语言。 我知道如何使用LoadString()api,但是这涉及到我想要加载的每个字符串都有一个不同的变量,如果我的应用程序有100个字符串,那就是很多变量。这是做这件事的最好方法吗?或者我应该创建一个全局变量,用作缓冲区来根据需要加载字符串?另外,既然没有办法知道我的字符串有多大,我应该创建一个足够大的缓冲区来容纳我可能拥有的任何字符串,或者有更好的方法来做到这一点?C++ win32从资源加载字符串
还正在根据需要加载字符串性能不好?有什么方法可以预先加载它们吗?
RE:好吧我试图创建一个缓冲区的大小为256字节,并加载字符串放到需要,但我遇到了一个小问题...
这里是我的代码多数民众赞成显示错误消息,错误是“错误分配内存!”
LoadString(g_hInst, IDS_ERROR_MEMORY, szBuffer, sizeof(szBuffer)/sizeof(TCHAR)); MessageBox(NULL, szBuffer, TEXT("Error"), MB_OK | MB_ICONERROR); ExitProcess(1);
我有我的缓冲区作为一个全局变量:TCHAR szBuffer[256];
这工作,但我还想给“错误”的文字也存储到字符串表并加载,当我想要显示的错误,问题是这将需要我有2个全局变量来加载字符串,并且有一些地方我需要加载更多,然后在一次。
是否有更好的解决方案,然后有多个全局变量?
使用支持本地化的GUI框架会容易得多 – 2011-05-20 18:22:24