|

楼主 |
发表于 2020-5-9 14:15:31
|
显示全部楼层
主窗口有收到消息,可以隐藏了,就是界面变了。
这个窗口的代码
- #include "bsp_common.h"
- #define ID_FRAMEWIN_0 (GUI_ID_USER + 0x00)
- #define ID_BUTTON_CLOSE (GUI_ID_USER + 0x01)
- #define ID_CHECKBOX_PASS_ONOFF (GUI_ID_USER + 0x02)
- #define ID_TEXT_NUM (GUI_ID_USER + 0x03)
- #define ID_BUTTON_PLUS (GUI_ID_USER + 0x04)
- #define ID_BUTTON_DEC (GUI_ID_USER + 0x05)
- #define ID_TEXT_NAME (GUI_ID_USER + 0x06)
- #define ID_EDIT_NAME (GUI_ID_USER + 0x07)
- #define ID_TEXT_TYPE (GUI_ID_USER + 0x08)
- #define ID_TEXT_TYPE_K (GUI_ID_USER + 0x09)
- #define ID_TEXT_TYPE_J (GUI_ID_USER + 0x0A)
- #define ID_TEXT_TYPE_E (GUI_ID_USER + 0x0B)
- #define ID_TEXT_TYPE_T (GUI_ID_USER + 0x0C)
- #define ID_TEXT_TYPE_N (GUI_ID_USER + 0x0D)
- #define ID_TEXT_TYPE_S (GUI_ID_USER + 0x0E)
- #define ID_TEXT_TYPE_R (GUI_ID_USER + 0x0F)
- #define ID_TEXT_TYPE_B (GUI_ID_USER + 0x10)
- #define ID_CHECKBOX_WARNING_ONOFF (GUI_ID_USER + 0x11)
- #define ID_TEXT_WARNING (GUI_ID_USER + 0x12)
- #define ID_TEXT_UPPER_LIMIT (GUI_ID_USER + 0x13)
- #define ID_EDIT_UPPER_LIMIT (GUI_ID_USER + 0x14)
- #define ID_TEXT_LOWER_LIMIT (GUI_ID_USER + 0x15)
- #define ID_EDIT_LOWER_LIMIT (GUI_ID_USER + 0x16)
-
- #define ID_CHECKBOX_MODEFY_ONOFF (GUI_ID_USER + 0x17)
- #define ID_TEXT_MODEFY (GUI_ID_USER + 0x18)
- #define ID_TEXT_FORMULA (GUI_ID_USER + 0x19)
- #define ID_TEXT_K (GUI_ID_USER + 0x1A)
- #define ID_EDIT_K (GUI_ID_USER + 0x1B)
- #define ID_TEXT_B (GUI_ID_USER + 0x1C)
- #define ID_EDIT_B (GUI_ID_USER + 0x1D)
- #define ID_TEXT_X (GUI_ID_USER + 0x1E)
- WM_HWIN page_channel_properties;
- WM_HWIN page_channel_properties_client;
- WM_HWIN Chb_PassOnoff;
- WM_HWIN Chb_WarningOnoff;
- WM_HWIN Chb_ModefyOnoff;
- WM_HWIN Txt_ChannelSettingNum;
- WM_HWIN Edit_ChannelSettingName;
- WM_HWIN Edit_ChannelWarningMax;
- WM_HWIN Edit_ChannelWarningMin;
- WM_HWIN Edit_ChannelModefy_K;
- WM_HWIN Edit_ChannelModefy_B;
- WM_HWIN txt_type[8];
- char type[8][2]={"K","J","E","T","N","S","R","B"};
- static void Channel_Properties_framwin_callback(WM_MESSAGE * pMsg)
- {
- WM_HWIN hItem;
- int NCode;
- int Id;
-
- switch (pMsg->MsgId)
- {
-
- case WM_PAINT:
-
-
- break;
- case WM_NOTIFY_PARENT:
- Id = WM_GetId(pMsg->hWinSrc);
- NCode = pMsg->Data.v;
-
- switch(Id)
- {
- case ID_BUTTON_CLOSE:
- switch(NCode)
- {
- case WM_NOTIFICATION_CLICKED:
- DEBUG("ID_BUTTON_CLOSE收到点击消息!\r\n");
- WM_HideWindow(page_channel_properties);
- WM_MakeModal(0);
- break;
- case WM_NOTIFICATION_RELEASED:
- break;
- }
- break;
- }
- break;
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
- static void Channel_Properties_client_callback(WM_MESSAGE * pMsg)
- {
- WM_HWIN hItem;
- int NCode;
- int Id;
-
- switch (pMsg->MsgId)
- {
-
- case WM_PAINT:
-
-
- break;
- case WM_NOTIFY_PARENT:
- Id = WM_GetId(pMsg->hWinSrc);
- NCode = pMsg->Data.v;
-
- switch(Id)
- {
-
-
- case ID_BUTTON_PLUS:
- switch(NCode)
- {
- case WM_NOTIFICATION_CLICKED:
- DEBUG("ID_BUTTON_PLUS收到点击消息!\r\n");
-
- break;
- case WM_NOTIFICATION_RELEASED:
- break;
- }
- break;
-
- case ID_BUTTON_DEC:
- switch(NCode)
- {
- case WM_NOTIFICATION_CLICKED:
- DEBUG("ID_BUTTON_DEC收到点击消息!\r\n");
-
- break;
- case WM_NOTIFICATION_RELEASED:
- break;
- }
- break;
- }
- break;
- default:
- WM_DefaultProc(pMsg);
- break;
- }
- }
- static int CHECKBOX_DrawSkin(const WIDGET_ITEM_DRAW_INFO* pCheckBoxSkinItem)
- {
- int Id;
- Id = WM_GetId(pCheckBoxSkinItem->hWin);
- switch (Id)
- {
- case ID_CHECKBOX_PASS_ONOFF:
- case ID_CHECKBOX_WARNING_ONOFF:
- case ID_CHECKBOX_MODEFY_ONOFF:
-
- switch (pCheckBoxSkinItem->Cmd)
- {
- case WIDGET_ITEM_DRAW_BUTTON:
- {
- if (CHECKBOX_IsChecked(pCheckBoxSkinItem->hWin) == 0) //没被选中的图形
- {
- GUI_SetColor(GUI_RED); //椭圆外框
- GUI_FillCircle(25, 25, 25);
- GUI_SetTextMode(GUI_TEXTMODE_TRANS);
- GUI_SetColor(GUI_BLACK);
- GUI_SetFont(&GBK_24m24);
- GUI_DispStringAt("关", 12, 11); //文字
- }
- else
- {
- GUI_SetColor(GUI_DARKGREEN); // 选中的图形
- // GUI_FillRect(20, 0, 55, 30);
- GUI_FillCircle(25, 25, 25);
- GUI_SetColor(GUI_BLACK);
- GUI_SetTextMode(GUI_TEXTMODE_TRANS);
- GUI_SetFont(&GBK_24m24);
- GUI_DispStringAt("开", 12, 11);
- }
- }
- break;
- }
- break;
- }
- }
- void CreatWin_Channel_Properties(void)
- {
- WM_HWIN hitem;
-
- // FRAMEWIN_Create();
- page_channel_properties = FRAMEWIN_CreateEx(30,50,680,330,WM_GetDesktopWindow(),WM_CF_SHOW,0,ID_FRAMEWIN_0,"通道属性",Channel_Properties_client_callback);
- FRAMEWIN_SetClientColor(page_channel_properties,GUI_WHITE);
- FRAMEWIN_SetFont(page_channel_properties,&GBK_24m24);
- FRAMEWIN_SetTitleHeight(page_channel_properties,40);
- FRAMEWIN_SetTextAlign(page_channel_properties,GUI_TA_HCENTER|GUI_TA_VCENTER);
- WM_SetCallback(page_channel_properties,Channel_Properties_framwin_callback);
- page_channel_properties_client = WM_GetClientWindow(page_channel_properties);
-
- hitem = FRAMEWIN_AddButton(page_channel_properties,FRAMEWIN_BUTTON_RIGHT,10,ID_BUTTON_CLOSE);
- BUTTON_SetFont(hitem,&GUI_Font32B_ASCII);
- BUTTON_SetText(hitem,"X");
-
-
- Chb_PassOnoff = CHECKBOX_CreateEx(10,10,50,50,page_channel_properties_client,WM_CF_SHOW,0,ID_CHECKBOX_PASS_ONOFF);
- CHECKBOX_SetSkin(Chb_PassOnoff, CHECKBOX_DrawSkin);
-
- Txt_ChannelSettingNum = TEXT_CreateEx(80,15,30,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_NUM,"1");
- TEXT_SetBkColor(Txt_ChannelSettingNum,GUI_GRAY);
- TEXT_SetTextColor(Txt_ChannelSettingNum,GUI_BLUE);
- TEXT_SetFont(Txt_ChannelSettingNum,&GUI_Font32B_ASCII);
-
-
- hitem = BUTTON_CreateEx(145,15,50,40,page_channel_properties_client,WM_CF_SHOW,0,ID_BUTTON_PLUS);
- BUTTON_SetFont(hitem,&GUI_Font32B_ASCII);
- BUTTON_SetText(hitem,"+");
-
- hitem = BUTTON_CreateEx(205,15,50,40,page_channel_properties_client,WM_CF_SHOW,0,ID_BUTTON_DEC);
- BUTTON_SetFont(hitem,&GUI_Font32B_ASCII);
- BUTTON_SetText(hitem,"-");
-
- /*name*/
- hitem = TEXT_CreateEx(10,70,60,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_NAME,"名称:");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
-
- Edit_ChannelSettingName = EDIT_CreateEx(95,70,220,40,page_channel_properties_client,WM_CF_SHOW,0,ID_EDIT_NAME,18);
- EDIT_SetBkColor(Edit_ChannelSettingName,EDIT_CI_ENABLED,GUI_GRAY);
- EDIT_SetFont(Edit_ChannelSettingName,&GBK_24m24);
- EDIT_SetTextColor(Edit_ChannelSettingName,EDIT_CI_ENABLED,GUI_WHITE);
- EDIT_SetText(Edit_ChannelSettingName,"自定义温度名称1");
- EDIT_SetTextAlign(Edit_ChannelSettingName,GUI_TA_HCENTER|GUI_TA_VCENTER);
-
- hitem = TEXT_CreateEx(10,125,140,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_TYPE,"热电偶类型:");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
- TEXT_SetBkColor(hitem,GUI_WHITE);
-
- for(uint8_t i=0;i<8;i++)
- {
- txt_type[i] = TEXT_CreateEx(150+i*65,125,50,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_TYPE_K+i,(const char*)(type+i) );
- TEXT_SetBkColor(txt_type[i],GUI_GRAY);
- TEXT_SetTextColor(txt_type[i],GUI_WHITE);
- TEXT_SetFont(txt_type[i],&GUI_Font32B_ASCII);
-
- }
-
- Chb_WarningOnoff = CHECKBOX_CreateEx(10,175,50,50,page_channel_properties_client,WM_CF_SHOW,0,ID_CHECKBOX_WARNING_ONOFF);
- CHECKBOX_SetSkin(Chb_WarningOnoff, CHECKBOX_DrawSkin);
-
- hitem = TEXT_CreateEx(70,180,50,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_WARNING,"报警");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
-
- hitem = TEXT_CreateEx(175,180,80,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_UPPER_LIMIT,"上限:");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
-
-
- Edit_ChannelWarningMax = EDIT_CreateEx(265,180,120,40,page_channel_properties_client,WM_CF_SHOW,0,ID_EDIT_UPPER_LIMIT,8);
- EDIT_SetBkColor(Edit_ChannelWarningMax,EDIT_CI_ENABLED,GUI_GRAY);
- EDIT_SetFont(Edit_ChannelWarningMax,&GUI_Font32B_ASCII);
- EDIT_SetTextColor(Edit_ChannelWarningMax,EDIT_CI_ENABLED,GUI_WHITE);
- EDIT_SetText(Edit_ChannelWarningMax,"1000.0");
- EDIT_SetTextAlign(Edit_ChannelWarningMax,GUI_TA_HCENTER|GUI_TA_VCENTER);
-
- hitem = TEXT_CreateEx(425,180,80,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_LOWER_LIMIT,"下限:");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
-
-
- Edit_ChannelWarningMin = EDIT_CreateEx(505,180,120,40,page_channel_properties_client,WM_CF_SHOW,0,ID_EDIT_LOWER_LIMIT,8);
- EDIT_SetBkColor(Edit_ChannelWarningMin,EDIT_CI_ENABLED,GUI_GRAY);
- EDIT_SetFont(Edit_ChannelWarningMin,&GUI_Font32B_ASCII);
- EDIT_SetTextColor(Edit_ChannelWarningMin,EDIT_CI_ENABLED,GUI_WHITE);
- EDIT_SetText(Edit_ChannelWarningMin,"1000.0");
- EDIT_SetTextAlign(Edit_ChannelWarningMin,GUI_TA_HCENTER|GUI_TA_VCENTER);
-
-
- /*修正*/
- Chb_ModefyOnoff = CHECKBOX_CreateEx(0,230,50,50,page_channel_properties_client,WM_CF_SHOW,0,ID_CHECKBOX_MODEFY_ONOFF);
- CHECKBOX_SetSkin(Chb_ModefyOnoff, CHECKBOX_DrawSkin);
-
- hitem = TEXT_CreateEx(60,235,50,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_MODEFY,"修正");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
- TEXT_SetBkColor(hitem,GUI_GRAY);
-
- hitem = TEXT_CreateEx(120,235,100,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_FORMULA,"Y=kx+b");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GUI_Font32B_ASCII);
- TEXT_SetBkColor(hitem,GUI_GRAY);
-
- hitem = TEXT_CreateEx(240,235,40,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_K,"k=");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GUI_Font32B_ASCII);
- TEXT_SetBkColor(hitem,GUI_GRAY);
-
- Edit_ChannelModefy_K = EDIT_CreateEx(280,235,95,40,page_channel_properties_client,WM_CF_SHOW,0,ID_EDIT_K,8);
- EDIT_SetBkColor(Edit_ChannelModefy_K,EDIT_CI_ENABLED,GUI_GRAY);
- EDIT_SetFont(Edit_ChannelModefy_K,&GUI_Font32B_ASCII);
- EDIT_SetTextColor(Edit_ChannelModefy_K,EDIT_CI_ENABLED,GUI_WHITE);
- EDIT_SetText(Edit_ChannelModefy_K,"1000.0");
- EDIT_SetTextAlign(Edit_ChannelModefy_K,GUI_TA_HCENTER|GUI_TA_VCENTER);
-
- hitem = TEXT_CreateEx(385,235,40,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_B,"b=");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GUI_Font32B_ASCII);
- TEXT_SetBkColor(hitem,GUI_GRAY);
-
- Edit_ChannelModefy_B = EDIT_CreateEx(425,235,95,40,page_channel_properties_client,WM_CF_SHOW,0,ID_EDIT_K,8);
- EDIT_SetBkColor(Edit_ChannelModefy_B,EDIT_CI_ENABLED,GUI_GRAY);
- EDIT_SetFont(Edit_ChannelModefy_B,&GUI_Font32B_ASCII);
- EDIT_SetTextColor(Edit_ChannelModefy_B,EDIT_CI_ENABLED,GUI_WHITE);
- EDIT_SetText(Edit_ChannelModefy_B,"1000.0");
- EDIT_SetTextAlign(Edit_ChannelModefy_B,GUI_TA_HCENTER|GUI_TA_VCENTER);
-
- hitem = TEXT_CreateEx(530,235,140,40,page_channel_properties_client,WM_CF_SHOW,TEXT_CF_HCENTER|TEXT_CF_VCENTER,ID_TEXT_X,"(X为测量值)");
- TEXT_SetTextColor(hitem,GUI_BLACK);
- TEXT_SetFont(hitem,&GBK_24m24);
- TEXT_SetBkColor(hitem,GUI_GRAY);
-
- WM_HideWindow(page_channel_properties);
- WM_AttachWindow(page_channel_properties,Page_List);
- }
复制代码
|
|