|
static void _cbDialog(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
WM_MESSAGE pMsgInfo;
int NCode, Id;
switch (pMsg->MsgId)
{
case WM_PAINT:
GUI_DrawGradientH(0, 44, 240- 1, 272 - 44, 0xdda0dd, 0xe14169);
GUI_DrawGradientH(240, 44, 480-1, 272-44, 0xe14169, 0xdda0dd);
break;
case WM_INIT_DIALOG:
/* 创建文本 */
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
TEXT_SetTextColor(hItem, GUI_WHITE);
TEXT_SetFont(hItem, &GUI_FontYahei);
TEXT_SetText(hItem, "智能家居STemWin客户端");
_CreateButton(hWin, "liebiao", GUI_ID_BUTTON0, 50, 150, 100, 60, 0);
_CreateButton(hWin, "jiedianshezhi", GUI_ID_BUTTON1, 170, 150, 100, 60, 0);
_CreateButton(hWin, "xitongshezhi", GUI_ID_BUTTON2, 290, 150, 100, 60, 0);
_CreateButton(hWin, "baojingjilu", GUI_ID_BUTTON3, 410, 150, 100, 60, 0);
_CreateButton(hWin, "zisou", GUI_ID_BUTTON4, 530, 150, 100, 60, 0);
_CreateButton(hWin, "waibushezhi", GUI_ID_BUTTON5, 650, 150, 100, 60, 0);
_CreateButton(hWin, "guzhangjilu", GUI_ID_BUTTON6, 50, 390, 100, 60, 0);
_CreateButton(hWin, "tiaoling", GUI_ID_BUTTON7, 170, 390, 100, 60, 0);
_CreateButton(hWin, "zijian", GUI_ID_BUTTON8, 290, 390, 100, 60, 0);
_CreateButton(hWin, "kaijijilu", GUI_ID_BUTTON9, 410, 390, 100, 60, 0);
_CreateButton(hWin, "biaoding", GUI_ID_BUTTON10, 530, 390, 100, 60, 0);
_CreateButton(hWin, "gongsijianjie", GUI_ID_BUTTON11, 650, 390, 100, 60, 0);
break;
case WM_TIMER:
break;
/* 发送按下的消息 */
case MSG_SetENTER: //确认键 ok
pMsgInfo.MsgId = WM_NOTIFY_PARENT;
pMsgInfo.hWinSrc = hWinICON;
pMsgInfo.Data.v = WM_NOTIFICATION_RELEASED;
WM_SendMessage(pMsg->hWin, &pMsgInfo);
break;
/* 设置ICON的聚焦 */ // k3选择
case MSG_SetICONFocus:
WM_SetFocus(hWinICON);
break;
/* 删除通过ICON创建的对话框 */ //k2取消
case MSG_Delect:
WM_DeleteWindow(hWinInfo);
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
NCode = pMsg->Data.v; /* Notification code */
switch (Id)
{
/* 点击ICONVIEW上相应的图标,打开相应的窗口 */
case GUI_ID_ICONVIEW0:
switch (NCode)
{
case WM_NOTIFICATION_RELEASED:
s_ucSelIconIndex = ICONVIEW_GetSel(pMsg->hWinSrc);
switch( ICONVIEW_GetSel(pMsg->hWinSrc))
{
/* 视频监控 */
case 0:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 灯光控制 */
case 1:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 智能门窗 */
case 2:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 电器控制 */
case 3:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 信息查询 */
case 4:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 安防报警 */
case 5:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 背景音乐 */
case 6:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 情景模式 */
case 7:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 定时管理 */
case 8:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
/* 系统设置 */
case 9:
hWinInfo = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbCallback1, 0, 0, 0);
break;
default:
break;
}
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
}
}
static void AppTaskUserIF(void *p_arg)
{
uint8_t ucKeyCode;
(void)p_arg;
while (1)
{
ucKeyCode = bsp_GetKey();
if(ucKeyCode != KEY_NONE)
{
switch (ucKeyCode)
{
case KEY_DOWN_K1:
BSP_OS_SemPost(&SEM_SYNCH);
break;
case KEY_DOWN_K2:
WM_SendMessageNoPara(hWinMain, MSG_Delect);
break;
case KEY_DOWN_K3:
WM_SendMessageNoPara(hWinMain, MSG_SetICONFocus);
break;
case JOY_DOWN_U:
GUI_SendKeyMsg(GUI_KEY_UP, 1);
break;
case JOY_DOWN_D:
GUI_SendKeyMsg(GUI_KEY_DOWN, 1);
break;
case JOY_DOWN_L:
GUI_SendKeyMsg(GUI_KEY_LEFT, 1);
break;
case JOY_DOWN_R:
GUI_SendKeyMsg(GUI_KEY_RIGHT, 1);
break;
case JOY_DOWN_OK:
WM_SendMessageNoPara(hWinMain, MSG_SetENTER);
break;
default:
/* ???üμ??ü?μ2?′|àí */
break;
}
}
BSP_OS_TimeDlyMs(20);
}
} |
|