我的程序中要根据不同的环境使用不同的资源,我在BOOL CImuApp::InitInstance()
函数中有如下代码:
HINSTANCE hRes=NULL;
g_bLargeFont=IsLargeFont();//判断系统字体
g_b256Color=Is256Color();//判断是否是256色
if(g_b256Color)
hRes=LoadLibrary("MyRes256.dll");
else{
if(g_bLargeFont){
hRes=LoadLibrary("MyRes3.dll");
}
else{
hRes=LoadLibrary("MyRes1.dll");
}
}
if(hRes)
AfxSetResourceHandle(hRes);
不知道为什么,位图资源不能从dll(加载不同的位图)中得到,即“按道理”原来的程序中可以不要那些IDB-***的玩意,但是去掉这些,则位图无法显示,(对话框可以只放在相应的dll中),而加上IDB-***也只能是加某一个位图,(我不想改变主程序),即使以后使用其他的dll,也不能覆盖这些“设定”的位图,但是对话框就可以。很困惑!