|
ICONVIEW_AddBMPItemEx函数怎么用的,在文档里搜不到这个函数。网上也没有说明。
猜测应该是 int ICONVIEW_AddBMPItemEx (ICONVIEW_Handle hObj, const void * pBMP, GUI_GET_DATA_FUNC * pfGetData, const char * pText);
参数 pBMP 是传给 pfGetData 的第一个参数。与 函数 void IMAGE_SetPNGEx(IMAGE_Handle hObj, GUI_GET_DATA_FUNC * pfGetData, void * pVoid) 类似。
实际测试了一下,调用没问题,跟踪调试 pBMP参数确实传给了 pfGetData 的第一个参数。。
定义的pfGetData 原型如下。
int HmiGetExImgDat(void* p, const U8** ppData, unsigned NumBytesReq, U32 Off)
{
char* fn = (char*)p;
U8* buf = (U8*)*ppData;
FILE* pf;
long rlen = 0;
/* 打开文件 */
pf = fopen(fn, "rb");
if (pf)
{
fseek(pf, Off, SEEK_SET);
/* 读取文件到内存 */
rlen = fread(buf, 1, NumBytesReq, pf);
/* 关闭文件 */
fclose(pf);
}
return rlen;
}
现在有个问题是 IMAGE_SetPNGEx 调用上面的函数可以正常显示。
ICONVIEW_AddBMPItemEx 调用上面的函数就会在 /* 读取到内存 */ 那里报错。
用的是模拟器。
有谁知道这个函数要怎么用不,还是有其他的地方有问题。
|
|