注册 登录
编程论坛 VFP论坛

loadimage函数错误,数据类型不匹配

sam_jiang 发布于 2023-04-09 13:31, 822 次点击
用loadimage加载一个位图文件,微软说明上说第一个参数为null时,才可以加载指定图片。
函数原型:
HANDLE LoadImageA(
  [in, optional] HINSTANCE hInst,
  [in]           LPCSTR    name,
  [in]           UINT      type,
  [in]           int       cx,
  [in]           int       cy,
  [in]           UINT      fuLoad
);
参数
[in, optional] hInst

类型: HINSTANCE

DLL 或可执行文件 (.exe 模块的句柄) ,其中包含要加载的图像。 有关详细信息,请参阅 GetModuleHandle。 请注意,从 32 位 Windows 开始,实例句柄 (HINSTANCE) ,例如由 WinMain 系统函数调用公开的应用程序实例句柄,而模块句柄 (HMODULE) 也是如此。

若要加载 OEM 映像,请将此参数设置为 NULL。

若要加载独立资源 (图标、游标或位图文件) (例如,c:\myimage.bmp),请将此参数设置为 NULL。
问题来了,我把参数设置为null时,却产生一个错误提示,说数据类型不匹配。。。
代码如下:
DECLARE integer LoadImage IN WIN32API integer,string,integer,integer,integer,integer
hbitmap=loadimage(null,GETFILE("jpg;bmp;ico"),0,0,0,0x00000010)
?hbitmap

问题出在哪里?
3 回复
#2
csyx2023-04-09 13:39
Int 的 null 对应 0,String 的 Null 才是 null
#3
sam_jiang2023-04-09 14:01
回复 2楼 csyx
我第二个参数里选择了一个jpg图片,所以第一个参数用0时函数返回值为0,失败,我以为我理解错了,所以以为第一个参数要用null,呵呵。

原来loadimage不能用jpg文件。。。

谢谢!
#4
csyx2023-04-09 14:09
是的,这是个古老的函数,仅支持 bitmap,cursor,icon
1