|
发表于 2019-9-6 09:42:49
|
显示全部楼层
/******************************************************
*
*_cbDialog3
*/
static void _cbDialog3(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
char buf[10];
int NCode;
int Id;
hItem = pMsg->hWin;
switch (pMsg->MsgId)
{
case WM_INIT_DIALOG:
//
// 初始化按钮控件
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_23);
TEXT_SetTextColor(hItem,GUI_WHITE);
TEXT_SetFont(hItem, &GUI_Font32B_1);
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_24);
TEXT_SetTextColor(hItem,GUI_WHITE);
TEXT_SetFont(hItem, &GUI_Font32B_1);
hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_25);
TEXT_SetTextColor(hItem,GUI_WHITE);
TEXT_SetFont(hItem, &GUI_Font32B_1);
break;
case WM_TIMER:
if(WM_GetTimerId(pMsg->Data.v) == ID_TimerGraph)
{
Count1++;
if(Count1<36){
sprintf(buf, "%02d", Count1);
TEXT_SetText(WM_GetDialogItem(pMsg->hWin,ID_TEXT_23), (const char *)buf);
WM_RestartTimer(pMsg->Data.v, 60000);
}
else
{
sprintf(buf, "%02d", 36);
TEXT_SetText(WM_GetDialogItem(pMsg->hWin,ID_TEXT_23), (const char *)buf);
WM_DeleteTimer(pMsg->Data.v);
}
}
else if(WM_GetTimerId(pMsg->Data.v) == ID_TimerTime)
{
Count2++;
if(Count2<60){
sprintf(buf, "%02d", Count2);
TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_25), (const char*)buf);
WM_RestartTimer(pMsg->Data.v, 1000);
}
else if(Count1<36){
Count2=0;
sprintf(buf, "%02d", Count2);
TEXT_SetText(WM_GetDialogItem(pMsg->hWin, ID_TEXT_25), (const char*)buf);
WM_RestartTimer(pMsg->Data.v, 1000);
}
else{
sprintf(buf, "%02d", 0);
TEXT_SetText(WM_GetDialogItem(pMsg->hWin,ID_TEXT_25), (const char *)buf);
WM_DeleteTimer(pMsg->Data.v);
}
}
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:
// WM_SendMessageNoPara(hWin, WM_TIMER);
WM_CreateTimer(hItem, /* 接受信息的窗口的句柄 */
ID_TimerGraph, /* 用户定义的Id。如果不对同一窗口使用多个定时器,此值可以设置为零。 */
60000, /* 周期,此周期过后指定窗口应收到消息*/
0); /* 留待将来使用,应为0 */
WM_CreateTimer(hItem, /* 接受信息的窗口的句柄 */
ID_TimerTime, /* 用户定义的Id。如果不对同一窗口使用多个定时器,此值可以设置为零。 */
1000, /* 周期,此周期过后指定窗口应收到消息*/
0);
break;
}
break;
case ID_BUTTON_1:
switch(NCode)
{
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
// WM_DeleteWindow(hItem);
GUI_EndDialog(hItem, 0);
GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), _cbDialog1, WM_HBKWIN, 0, 0);
// WM_DeleteTimer(pMsg->hWin);
break;
}
break;
}
case WM_PAINT:
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_DrawBitmap(pBmp[5],0,0);
hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
BUTTON_SetBitmapEx(hItem,BUTTON_BI_UNPRESSED,pBmp[0],0,0);
hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
BUTTON_SetBitmapEx(hItem,BUTTON_BI_UNPRESSED,pBmp[1],0,0);
break;
default:
WM_DefaultProc(pMsg);
break;
}
} |
|