好吧,所以我最近做出了將我的應用程序中的每個字符串放入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