|

楼主 |
发表于 2013-12-13 09:36:52
|
显示全部楼层
回 eric2013 的帖子
static void _cbBkWin(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId)
{
case WM_PAINT:
//GUI_DrawGradientV(0, 0, 480, 272, GUI_BLUE, GUI_LIGHTCYAN);
//WM_SetDesktopColor(GUI_GREEN);
//GUI_Clear();
//LedToggle();
//_DrawBackground();
break;
case WM_NOTIFY_PARENT:
if (pMsg->Data.v == WM_NOTIFICATION_CLICKED)
{
//WM_NOTIFICATION_CLICKED
int Id = WM_GetId(pMsg->hWinSrc);
switch (Id)
{
case GUI_ID_BUTTON_LIJIA:
LedOn();
GUI_DispStringAtCEOL("Button_Lijia_Clicked", 160, 5);
break;
case GUI_ID_BUTTON1_HUIKE:
//for(int i = 0;i<10;i++)
// {
//_ShowBMPEx("alloffb.bmp", 400, 28);
LedOn();
//GUI_Clear();//Rect(10, 10, 250, 100);
GUI_DispStringAtCEOL("Button_Huike_Clicked", 160, 5);
//halMcuWaitMs(300);
//}
break;
case GUI_ID_BUTTON1:
break;
default:
break;
//case GUI_ID_OK:
//
// No break here...
//
//case GUI_ID_CANCEL:
// break;
}
}
if (pMsg->Data.v == WM_NOTIFICATION_RELEASED)
{
int Id = WM_GetId(pMsg->hWinSrc);
switch (Id)
{
case GUI_ID_BUTTON2:
LedOff();
GUI_DispStringAtCEOL("Button_Lijia_Released", 160, 5);
break;
case GUI_ID_BUTTON3:
break;
case GUI_ID_BUTTON9:
//GUI_Clear();
//BUTTON_Delete(button1);
//Button_Creat(8,button_ptr);
break;
case GUI_ID_BUTTON1:
//GUI_Clear();
//Button_Creat(1,icon);
break;
}
}
break;
default:
WM_DefaultProc(pMsg);
}
}
void Button_Creat(unsigned char button_cnt, uint16_t * button_icon)
{
BUTTON_Handle button1,button2,button3,button4,button5,button6,button7,button8;
for(char i = 0; i < button_cnt; i++)
{
__NorFlashDataRead(2, gImage_test_b+i*28800, 318248 + 28800 * i, 28800);//button_icon,从FLASH读图标到外部SRAM。
//NorFlashDataRead(2, gImage_test_b+i*28800, 318248 + 28800 * i, 28800);
}
switch(button_cnt)
{
//case 1:
// button1 = BUTTON_CreateEx(205, 79, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON9);
//// BUTTON_SetBitmap(button1, BUTTON_BI_UNPRESSED, &union_tubiao1);
// BUTTON_SetBitmap(button1, BUTTON_BI_PRESSED, &union_tubiao1_1);
//break;
case 8:
//读flash数据
//__NorFlashDataRead(2, gImage_test_b, 318248, 230400);
//NorFlashDataRead (2, gImage_test_b, 318248, 115200);
button1 = BUTTON_CreateEx(55, 28, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON1);
button2 = BUTTON_CreateEx(153, 28, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON2);
button3 = BUTTON_CreateEx(254, 28, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON3);
button4 = BUTTON_CreateEx(351, 28, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON4);
button5 = BUTTON_CreateEx(55, 128, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON5);
button6 = BUTTON_CreateEx(153, 128, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON6);
button7 = BUTTON_CreateEx(254, 128, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON7);
button8 = BUTTON_CreateEx(351, 128, 80, 90, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_BUTTON8);
BUTTON_SetBitmap(button1, BUTTON_BI_UNPRESSED, &union_tubiao1);
BUTTON_SetBitmap(button1, BUTTON_BI_PRESSED, &union_tubiao1_1);
BUTTON_SetBitmap(button2, BUTTON_BI_UNPRESSED, &union_tubiao2);
BUTTON_SetBitmap(button2, BUTTON_BI_PRESSED, &union_tubiao2_1);
BUTTON_SetBitmap(button3, BUTTON_BI_UNPRESSED, &union_tubiao3);
BUTTON_SetBitmap(button3, BUTTON_BI_PRESSED, &union_tubiao3_1);
BUTTON_SetBitmap(button4, BUTTON_BI_UNPRESSED, &union_tubiao4);
BUTTON_SetBitmap(button4, BUTTON_BI_PRESSED, &union_tubiao4_1);
BUTTON_SetBitmap(button5, BUTTON_BI_UNPRESSED, &union_tubiao5);
BUTTON_SetBitmap(button5, BUTTON_BI_PRESSED, &union_tubiao5_1);
BUTTON_SetBitmap(button6, BUTTON_BI_UNPRESSED, &union_tubiao6);
BUTTON_SetBitmap(button6, BUTTON_BI_PRESSED, &union_tubiao6_1);
BUTTON_SetBitmap(button7, BUTTON_BI_UNPRESSED, &union_tubiao7);
BUTTON_SetBitmap(button7, BUTTON_BI_PRESSED, &union_tubiao7_1);
BUTTON_SetBitmap(button8, BUTTON_BI_UNPRESSED, &union_tubiao8);
BUTTON_SetBitmap(button8, BUTTON_BI_PRESSED, &union_tubiao8_1);
break;
}
}
void main()
{
WM_CALLBACK * pcbPrev;
GUI_Init();
pcbPrev = WM_SetCallback(WM_HBKWIN, _cbBkWin);
Button_Creat(8,button_ptr);
while(1)
{
WM_Exec();
}
}
屏的大小是4.3,分辨率是480*272,每个按钮的都是一个大小为80*90的图片。
|
|