|

楼主 |
发表于 2020-11-23 15:52:03
|
显示全部楼层
界面回调函数代码:
static void _cbDialogPage1(WM_MESSAGE * pMsg)
{
int NCode;
int Id;
WM_HWIN hItemPage1 =pMsg->hWin;
WM_HWIN hTimer;
unsigned int i;
u8 tbuf[20];
switch (pMsg->MsgId) {
case WM_PAINT:
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
DSO_Init(0); //示波器界面初始化
break;
case WM_INIT_DIALOG:
WM_CreateTimer(hItemPage1,ID_TimerData,1000,0);
WM_CreateTimer(hItemPage1,ID_TimerTime,1000,0);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"测试信息");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"产品条码");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_2);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"检测压力");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_3);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1, GUI_WHITE);
TEXT_SetText(hItemPage1,"当前压差");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_4);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"检测数量");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_5);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"合格品率");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_6);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"Kpa");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_7);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"Pa");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_8);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"PCS");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_9);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"%");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_10);
TEXT_SetFont(hItemPage1,&GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"泄露量");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_11);
TEXT_SetFont(hItemPage1,&GUI_FontHZ24);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"Pa");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_12);
TEXT_SetFont(hItemPage1, &GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"0.0");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_TEXT_13);
TEXT_SetFont(hItemPage1, &GUI_FontHZ32);
TEXT_SetTextColor(hItemPage1,GUI_WHITE);
TEXT_SetText(hItemPage1,"");
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
BUTTON_SetFont(hItemPage1,&GUI_FontHZ24);
BUTTON_SetTextColor(hItemPage1,BUTTON_CI_UNPRESSED,GUI_WHITE);
BUTTON_SetText(hItemPage1,"测试记录");
WM_SetHasTrans(hItemPage1);
WM_SetCallback(hItemPage1,_cbButton);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
BUTTON_SetFont(hItemPage1,&GUI_FontHZ24);
BUTTON_SetTextColor(hItemPage1,BUTTON_CI_UNPRESSED,GUI_WHITE);
BUTTON_SetText(hItemPage1,"参数设置");
WM_SetHasTrans(hItemPage1);
WM_SetCallback(hItemPage1,_cbButton);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_2);
BUTTON_SetFont(hItemPage1,&GUI_FontHZ24);
BUTTON_SetTextColor(hItemPage1,BUTTON_CI_UNPRESSED,GUI_WHITE);
BUTTON_SetText(hItemPage1,"停 止");
WM_SetHasTrans(hItemPage1);
WM_SetCallback(hItemPage1,_cbButton);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_3);
BUTTON_SetFont(hItemPage1,&GUI_FontHZ24);
BUTTON_SetTextColor(hItemPage1,BUTTON_CI_UNPRESSED,GUI_WHITE);
BUTTON_SetText(hItemPage1,"起 动");
WM_SetHasTrans(hItemPage1);
WM_SetCallback(hItemPage1,_cbButton);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_EDIT_0); // 编辑框
EDIT_SetFont(hItemPage1, &GUI_FontHZ32);
EDIT_EnableBlink(hItemPage1, 500, 1);
EDIT_SetTextAlign(hItemPage1,GUI_TA_LEFT | GUI_TA_VCENTER);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_EDIT_1); // 编辑框
EDIT_SetFont(hItemPage1, &GUI_FontHZ32);
EDIT_EnableBlink(hItemPage1, 500, 1);
EDIT_SetTextAlign(hItemPage1,GUI_TA_LEFT | GUI_TA_VCENTER);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_EDIT_2); // 编辑框
EDIT_SetFont(hItemPage1, &GUI_FontHZ32);
EDIT_EnableBlink(hItemPage1, 500, 1);
EDIT_SetTextAlign(hItemPage1,GUI_TA_LEFT | GUI_TA_VCENTER);
hItemPage1 = WM_GetDialogItem(pMsg->hWin, ID_EDIT_3); // 编辑框
EDIT_SetFont(hItemPage1, &GUI_FontHZ32);
EDIT_EnableBlink(hItemPage1, 500, 1);
break;
case WM_TIMER:
if(WM_GetTimerId(pMsg->Data.v) == ID_TimerData)
{
hItemPage1 = WM_GetDialogItem(pMsg->hWin,ID_EDIT_1);
EDIT_SetText(hItemPage1,Detectpressure);
WM_RestartTimer(pMsg->Data.v,1000);
}
else if(WM_GetTimerId(pMsg->Data.v) == ID_TimerTime)
{
Caculate_RTC(pMsg);
WM_RestartTimer(pMsg->Data.v,1000);
}
else if(WM_GetTimerId(pMsg->Data.v) == ID_TimerControl)
{
Fill(pMsg);
}
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
case ID_EDIT_0:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
case ID_EDIT_1:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
case ID_EDIT_2:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
case ID_EDIT_3:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
case ID_EDIT_4:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
//打开测试记录界面按钮
case ID_BUTTON_0:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
GUI_EndDialog(hItemPage1, 1);
CreateWindow2();
break;
}
break;
//打开参数设置界面按钮
case ID_BUTTON_1:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
GUI_EndDialog(hItemPage1, 1);
CreateWindow3();
break;
}
break;
//停止循环按钮
case ID_BUTTON_2:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
WM_DeleteTimer(ID_TimerControl);
break;
case WM_NOTIFICATION_RELEASED:
break;
}
break;
//开始循环按钮
case ID_BUTTON_3:
switch(NCode) {
case WM_NOTIFICATION_CLICKED:
break;
case WM_NOTIFICATION_RELEASED:
WM_CreateTimer(hItemPage1,ID_TimerControl,0,0);
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
WM_HWIN CreateWindow1(void) {
WM_HWIN hWin;
hWin = GUI_CreateDialogBox(_aDialogCreatePage1, GUI_COUNTOF(_aDialogCreatePage1), _cbDialogPage1, WM_HBKWIN, 0, 0);
return hWin;
}
//背景窗口WM_HBKWIN回调函数
static void _cbBkWin(WM_MESSAGE* pMsg)
{
switch(pMsg->MsgId)
{
case WM_PAINT:
GUI_SetBkColor(GUI_BLUE);
GUI_Clear();
break;
default:
WM_DefaultProc(pMsg);
}
}
/*********************************************************************
*
* 主函数
void f_MainTask(void) {
GUI_Init();
WM_SetCallback(WM_HBKWIN, _cbBkWin);
WM_MULTIBUF_Enable(1);
/* 第3步:绘制各种背景到存储设备 ***************************************************/
hMemDSO = GUI_MEMDEV_CreateFixed(0,
0,
600,
400,
GUI_MEMDEV_HASTRANS,
GUI_MEMDEV_APILIST_16,
GUICC_M565);
/* 绘制示波器窗口背景 */
GUI_MEMDEV_Select(hMemDSO);
DSO_DrawBakFrame(0,0,599,399);
GUI_MEMDEV_Select(0);
WM_HideWindow(WM_HBKWIN);
DSO_Init(1);
WM_ShowWindow(WM_HBKWIN);
GUI_Exec();
DSO_Graph();
CreateWindow1();
} |
|