Alternative to 'AfxSetResourceHandle'
Hi.
I am localizing my application, and using 'AfxSetResourceHandle'
function in this way, to load the appropriate resource:
CMyApp::CMyApp()
{
switch (GetUserDefaultLangID())
{
case MAKELANGID(LANG_ARMENIAN, SUBLANG_DEFAULT):
ASSERT((m_hResLibrary =
LoadLibraryEx(TEXT("MyApphye.dll"), NULL,
LOAD_LIBRARY_AS_DATAFILE)) != NULL);
break;
case MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT):
ASSERT((m_hResLibrary =
LoadLibraryEx(TEXT("MyApprus.dll"), NULL,
LOAD_LIBRARY_AS_DATAFILE)) != NULL);
break;
}
}
BOOL CMyApp::InitInstance()
{
// Set the resource handle to the appropriate resource DLL
if (m_hResLibrary)
AfxSetResourceHandle(m_hResLibrary);
return CWinApp::InitInstance();
}
The problem is that most MFC member functions use
'AfxGetResourceHandle' function, to obtain the default resource
library. For example, 'CBitmap::LoadBitmap' doesn't have a parameter
for instance handle, it uses 'AfxFindResourceHandle'. So do most
members of other classes. It means, I must create the same bitmap in
any resource DLL I use, but I don't want to do that. I want to
translate only localizable resources, the rest ones must reside in the
EXE. Is it possible to do?
Thanks in advance
Martin