سلام
از SDcard میتونم در Image Widget تصویر رو نشون بدم کدی که نوشتم اینه:
کد:
static void _cbDialog(WM_MESSAGE * pMsg) {
const void * pData;
WM_HWIN hItem;
BUTTON_Handle hButton;
U32 FileSize;
unsigned int NumBytesRead,NumBytes;
FILE *Fptr=NULL;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
hItem = pMsg->hWin;
WINDOW_SetBkColor(hItem, 0);
hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
Fptr = fopen ("LightOff.png","r");
NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,Fptr);
IMAGE_SetPNG(hItem, acBuffer, NumBytesRead);
fclose(Fptr);
default:
WM_DefaultProc(pMsg);
break;
}
}
اما با اضافه کردن چند خط دیگه عکس رو در Image Widget نشون نمیده !!!
کد:
static void _cbDialog(WM_MESSAGE * pMsg) {
const void * pData;
WM_HWIN hItem;
BUTTON_Handle hButton;
U32 FileSize;
unsigned int NumBytesRead,NumBytes;
FILE *Fptr=NULL;
int NCode;
int Id;
switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
hItem = pMsg->hWin;
WINDOW_SetBkColor(hItem, 0);
hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
Fptr = fopen ("LightOff.png","r");
NumBytesRead = fread(acBuffer,sizeof(char),NumBytes,Fptr);
IMAGE_SetPNG(hItem, acBuffer, NumBytesRead);
fclose(Fptr);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
case ID_BUTTON_0:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}