michael@0: // Windows/ResourceString.cpp michael@0: michael@0: #include "StdAfx.h" michael@0: michael@0: #include "Windows/ResourceString.h" michael@0: #ifndef _UNICODE michael@0: #include "Common/StringConvert.h" michael@0: #endif michael@0: michael@0: extern HINSTANCE g_hInstance; michael@0: #ifndef _UNICODE michael@0: extern bool g_IsNT; michael@0: #endif michael@0: michael@0: namespace NWindows { michael@0: michael@0: CSysString MyLoadString(UINT resourceID) michael@0: { michael@0: CSysString s; michael@0: int size = 256; michael@0: int len; michael@0: do michael@0: { michael@0: size += 256; michael@0: len = ::LoadString(g_hInstance, resourceID, s.GetBuffer(size - 1), size); michael@0: } michael@0: while (size - len <= 1); michael@0: s.ReleaseBuffer(); michael@0: return s; michael@0: } michael@0: michael@0: #ifndef _UNICODE michael@0: UString MyLoadStringW(UINT resourceID) michael@0: { michael@0: if (g_IsNT) michael@0: { michael@0: UString s; michael@0: int size = 256; michael@0: int len; michael@0: do michael@0: { michael@0: size += 256; michael@0: len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size); michael@0: } michael@0: while (size - len <= 1); michael@0: s.ReleaseBuffer(); michael@0: return s; michael@0: } michael@0: return GetUnicodeString(MyLoadString(resourceID)); michael@0: } michael@0: #endif michael@0: michael@0: }