你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

智能手表雏形之短信功能实现

[复制链接]
颩色四葉愺 发布时间:2015-1-7 12:41
本帖最后由 颩色四葉愺 于 2015-1-7 17:59 编辑

嘿嘿,考虑到sim908有短信功能,那就弄个短信界面吧
  1. /*
  2.         短信的界面
  3.         */

  4. void GUI_Message(void)
  5. {
  6.         WM_HWIN hButton1;
  7.         WM_HWIN hButton2;
  8.         WM_HWIN hButton3;
  9.         WM_HWIN hButton4;
  10.         WM_HWIN hText1;
  11.         WM_HWIN hText2;
  12.         WM_HWIN hText3;
  13.         WinPara.hMessage = WM_CreateWindowAsChild(0, 0,
  14.                                                                                                                                                                                 WinPara.xSizeWin, WinPara.ySizeWin,
  15.                                                                                                                                                                                 WinPara.hWinMain,
  16.                                                                                                                                                                                 WM_CF_SHOW | WM_CF_STAYONTOP,
  17.                                                                                                                                                                                 _cbMessage, 0);
  18.                
  19.         
  20.         hButton1 = BUTTON_CreateEx(20, 5,
  21.                                                                                                                 90, 30,
  22.                                                                                                                 WinPara.hMessage,
  23.                                                                                                                 WM_CF_SHOW, 0, GUI_ID_BUTTON1);
  24.         
  25.         BUTTON_SetText(hButton1,"New Message");
  26.         BUTTON_SetSkin(hButton1, BUTTON_SKIN_FLEX);        
  27.         
  28.         hButton2 = BUTTON_CreateEx(130, 5,
  29.                                                                                                                 90, 30,
  30.                                                                                                                 WinPara.hMessage,
  31.                                                                                                                 WM_CF_SHOW, 0, GUI_ID_BUTTON2);
  32.         
  33.         BUTTON_SetText(hButton2,"EXIT");
  34.         BUTTON_SetSkin(hButton2, BUTTON_SKIN_FLEX);        
  35.         
  36.         hButton3 = BUTTON_CreateEx(20, 265,
  37.                                                                                                                 90, 30,
  38.                                                                                                                 WinPara.hMessage,
  39.                                                                                                                 WM_CF_SHOW, 0, GUI_ID_BUTTON3);
  40.         BUTTON_SetText(hButton3,"Last");
  41.         BUTTON_SetSkin(hButton3, BUTTON_SKIN_FLEX);
  42.         
  43.         hButton4 = BUTTON_CreateEx(130, 265,
  44.                                                                                                                 90, 30,
  45.                                                                                                                 WinPara.hMessage,
  46.                                                                                                                 WM_CF_SHOW, 0, GUI_ID_BUTTON4);
  47.                                                                                                                
  48.         BUTTON_SetText(hButton4,"Next");
  49.         BUTTON_SetSkin(hButton4, BUTTON_SKIN_FLEX);
  50.         
  51.         
  52.         hText1 = TEXT_CreateEx(10, 45,
  53.                                                                                                 WinPara.xSizeWin-20, 40,
  54.                                                                                                 WinPara.hMessage,
  55.                                                                                                 WM_CF_SHOW,
  56.                                                                                                 TEXT_CF_LEFT|TEXT_CF_VCENTER,
  57.                                                                                                 GUI_ID_TEXT1,
  58.                                                                                                 "Time:");
  59.         TEXT_SetTextColor(hText1, GUI_WHITE);
  60.         
  61.         hText2 = TEXT_CreateEx(10, 85,
  62.                                                                                                 WinPara.xSizeWin-20, 40,
  63.                                                                                                 WinPara.hMessage,
  64.                                                                                                 WM_CF_SHOW,
  65.                                                                                                 TEXT_CF_LEFT|TEXT_CF_VCENTER,
  66.                                                                                                 GUI_ID_TEXT2,
  67.                                                                                                 "Number:");
  68.         TEXT_SetTextColor(hText2, GUI_WHITE);

  69.         hText3 = TEXT_CreateEx(10, 125,
  70.                                                                                                 WinPara.xSizeWin-20, 70,
  71.                                                                                                 WinPara.hMessage,
  72.                                                                                                 WM_CF_SHOW,
  73.                                                                                                 TEXT_CF_LEFT|TEXT_CF_TOP,
  74.                                                                                                 GUI_ID_TEXT3,
  75.                                                                                                 "Text:");
  76.                                                                                        
  77.         TEXT_SetTextColor(hText3, GUI_WHITE);
  78.         
  79.         
  80. }

复制代码
DSC_0385.JPG
DSC_0386.JPG
DSC_0387.JPG
收藏 评论1 发布时间:2015-1-7 12:41

举报

1个回答
颩色四葉愺 回答时间:2015-1-7 18:01:53
  1. /*
  2.         短信界面的回调函数
  3.         */
  4. static void _cbMessage(WM_MESSAGE * pMsg)
  5. {
  6.         WM_HWIN hWin;
  7.         WM_HWIN hButton;
  8.         WM_HWIN hText;
  9.         int xSize,ySize;
  10.         
  11.         int Id,NCode;
  12.         
  13.         
  14.         hWin = pMsg->hWin;
  15.         switch (pMsg->MsgId)
  16.         {
  17.                 case WM_NOTIFY_PARENT:
  18.                         Id    = WM_GetId(pMsg->hWinSrc);
  19.                         NCode = pMsg->Data.v;
  20.         
  21.                         if(NCode == WM_NOTIFICATION_RELEASED )
  22.                         {               
  23.                                 if(Id == GUI_ID_BUTTON1)                                      
  24.                                 {                                
  25.                                         GUI_NewMessage();
  26.         
  27.                                 }
  28.                                 else if(Id == GUI_ID_BUTTON2)                                      
  29.                                 {                                
  30.                                         //lseek_num = 0;
  31.                                         messagesnum = 0;
  32.                                         WM_DeleteWindow(WinPara.hMessage);
  33.                                 }                                
  34.                                 else if(Id == GUI_ID_BUTTON3)                                      
  35.                                 {
  36.                                         if(messagesnum > 0)
  37.                                         {
  38.                                                 int addr = lseek_num[messagesnum - 1];
  39.                                                 char databuff[200];
  40.                                                 char utf8buff[200];
  41.                                                 
  42.                                                 messagesnum--;
  43.                                                 myres = f_open(&myfsrc, "0:/messages.txt", FA_READ | FA_OPEN_EXISTING);                                                
  44.                                                 
  45.                                                 f_lseek(&myfsrc, addr);
  46.                                                 
  47.                                                         f_gets(databuff, sizeof(databuff), &myfsrc);
  48.                                                         //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  49.                                                         hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT1);
  50.                                                         TEXT_SetText(hText, databuff);
  51.                                                         addr += strlen(databuff) + 1;                                       
  52.                                                         f_lseek(&myfsrc, addr);
  53.                                                         
  54.                                                         f_gets(databuff, sizeof(databuff), &myfsrc);
  55.                                                         //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  56.                                                         hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT2);
  57.                                                         TEXT_SetText(hText, databuff);
  58.                                                         addr += strlen(databuff) + 1;
  59.                                                         f_lseek(&myfsrc, addr);
  60.                                                         
  61.                                                         f_gets(databuff, sizeof(databuff), &myfsrc);
  62.                                                         //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  63.                                                         hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT3);
  64.                                                         
  65.                                                         StrUnicodeToUTF8(databuff, utf8buff);
  66.                                                         TEXT_SetText(hText, utf8buff);        
  67.                                                         f_close(&myfsrc);        
  68.                                         }
  69.                                         else
  70.                                         {
  71.                                                 GUI_MessageBox("No messages"," ",GUI_MESSAGEBOX_CF_MOVEABLE);
  72.                                         }                                       
  73.                                 }
  74.                                 else if(Id == GUI_ID_BUTTON4)                                      
  75.                                 {                                
  76.                                         char databuff[200];
  77.                                         char utf8buff[200];
  78.                                        
  79.                                         myres = f_open(&myfsrc, "0:/messages.txt", FA_READ | FA_OPEN_EXISTING);
  80.                                         lseek_num[0] = 0;
  81.                                         f_lseek(&myfsrc, lseek_num[messagesnum]);
  82.                                        
  83.                                         if(!f_eof(&myfsrc))
  84.                                         {
  85.                                                 int addr;
  86.                                                 
  87.                                                 f_gets(databuff, sizeof(databuff), &myfsrc);
  88.                                                 //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  89.                                                 hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT1);
  90.                                                 TEXT_SetText(hText, databuff);
  91.                                                 //lseek_num[messagesnum] += strlen(databuff) + 1;                                       
  92.                                                 addr = lseek_num[messagesnum] + strlen(databuff) + 1;                                       
  93.                                                 f_lseek(&myfsrc, addr);
  94.                                                 
  95.                                                 f_gets(databuff, sizeof(databuff), &myfsrc);
  96.                                                 //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  97.                                                 hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT2);
  98.                                                 TEXT_SetText(hText, databuff);
  99.                                                 addr += strlen(databuff) + 1;
  100.                                                 f_lseek(&myfsrc, addr);
  101.                                                 
  102.                                                 f_gets(databuff, sizeof(databuff), &myfsrc);
  103.                                                 //USART_printf(USART1, "\r\n $%s$ \r\n", databuff);
  104.                                                 hText = WM_GetDialogItem(pMsg->hWin, GUI_ID_TEXT3);
  105.                                                 StrUnicodeToUTF8(databuff, utf8buff);
  106.                                                 TEXT_SetText(hText, utf8buff);
  107.                                                 //lseek_num[messagesnum] += strlen(databuff) + 1;
  108.                                                 lseek_num[messagesnum+1] = addr + strlen(databuff) + 1;                                       
  109.                                                 messagesnum++;
  110.                                         }
  111.                                         else
  112.                                         {
  113.                                                 GUI_MessageBox("No messages"," ",GUI_MESSAGEBOX_CF_MOVEABLE);
  114.                                         }
  115.                                         f_close(&myfsrc);
  116.                                 }
  117.                                 
  118.                         }        
  119.                 break;
  120.         case WM_PAINT:
  121.                 //
  122.     // Draw background
  123.     //
  124.                 xSize = WM_GetWindowSizeX(hWin);
  125.                 ySize = WM_GetWindowSizeY(hWin);
  126.                 GUI_SetColor(GUI_DARKGRAY);
  127.                
  128.                 GUI_FillRect(0,0,xSize,ySize);
  129.         
  130.                 break;
  131.         }
  132. }
复制代码

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版