热情软件屋

 

用LoadBitmap装载图片,那hInst如何得到


编号:QA003928
建立日期: 2001年2月26日 最后修改日期:2001年2月26日
所属类别:

杨志勇:
    操作系统: win nt4
    编程工具: vc 6.0
    问题: 我在试着编写屏幕保护程序时,如何才能实现屏保是图片?如用LoadBitmap装载图片,那hInst如何得到?
    水平: 刚入门

回答:

    下面分MFC和SDK两种方式讨论你的问题。
    1、如果采用MFC方式,可以使用 AfxGetResourceHandle保存当前的资源文件句柄,即你说的hInst。也可以使用AfxSetResourceHandle设置资源DLL的句柄,如:
     hDll=LoadLibrary("ResourceDLL.dll");
     if(hDll==NULL)
     AfxMessageBox("Can't Load the library");
     else AfxMessageBox("success");
     AfxSetResourceHandle(hDLL);
     ...
    }
    这样以后你再使用LoadBitmap时,图片将来自你的资源DLL,而不是.exe文件。如果你在程序中还要使用.exe中的资源,你需要在 AfxSetResourceHandle之前,先使用 AfxGetResourceHandle保存当前的资源文件句柄。
    2、SDK方式。在WinMain中,第一个参数都是HINSTANCE。你也可以LoadLibrary获得的句柄。
    我估计你要从硬盘上读取图片,可以参考QA000913 "如何打开、读入、显示和保存BMP文件"QA002959 "TC中如何编程装入并显示一幅BMP,PCX,JPG等位图图象"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio