42 lines
892 B
C++
42 lines
892 B
C++
#include "stdafx.h"
|
|
#include "StringTableLoader.h"
|
|
|
|
namespace util
|
|
{
|
|
TCHAR StringTalbeReader::m_MessageChash[max_message] = {0, };
|
|
BOOL StringTalbeReader::m_bInit = false;
|
|
HINSTANCE StringTalbeReader::m_hInst = NULL;
|
|
IStringPart* StringTalbeReader::m_pStringPart = 0;
|
|
DWORD StringTalbeReader::m_dwStrCode = 0;
|
|
|
|
VOID
|
|
StringTalbeReader::Init( HINSTANCE inst, IStringPart* part )
|
|
{
|
|
if( inst != NULL && part != NULL )
|
|
{
|
|
m_bInit = TRUE;
|
|
m_hInst = inst;
|
|
m_pStringPart = part;
|
|
}
|
|
}
|
|
|
|
const TCHAR*
|
|
StringTalbeReader::GetString( DWORD stringCode )
|
|
{
|
|
if( m_hInst )
|
|
{
|
|
if( m_dwStrCode != stringCode )
|
|
{
|
|
int strNum = m_pStringPart->GetCode() + stringCode;
|
|
ZeroMemory(m_MessageChash, max_message);
|
|
|
|
::LoadString( m_hInst, strNum, m_MessageChash, sizeof( m_MessageChash));
|
|
m_dwStrCode = stringCode;
|
|
}
|
|
|
|
return m_MessageChash;
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
} |