初级会员

- 积分
- 57
- 金钱
- 57
- 注册时间
- 2016-12-22
- 在线时间
- 13 小时
|
10金钱
下面是窗口的回调函数,初始化IMAGE控件
static FIL PNGFile;
static void _cbDialog(WM_MESSAGE * pMsg) {
const void * pData;
WM_HWIN hItem;
U32 FileSize;
char result;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
result = f_open(&PNGFile,"/icon/setting/model.png",FA_READ); //打开文件
if((result != FR_OK) || (PNGFile.obj.objsize>PNGMEMORYSIZE)) printf("ERROR %d \r\n",result);//文件打开错误或者文件大于JPEGMEMORYSIZE
IMAGE_SetPNGEx(hItem,PngGetData,&PNGFile);
f_close(&PNGFile); //关闭PNGFile文件
// 下面这种使用代码中图片数组的方式,可以正常使用
// pData = _GetImageById(ID_IMAGE_0_IMAGE_0, &FileSize);
// IMAGE_SetPNG(hItem, pData, FileSize);
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
|
最佳答案
查看完整内容[请看2#楼]
static FIL PNGFile;
static void _cbDialog(WM_MESSAGE * pMsg) {
const void * pData;
WM_HWIN hItem;
U32 FileSize;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
f_open(&PNGFile,"/icon/setting/model.png",FA_READ); //打开文件
IMAGE_SetPNGEx(hItem,PngGetData,&PNGFile);
break;
...
|