久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5237|回復: 4
打印 上一主題 下一主題
收起左側

emWin兩個窗口間的切換程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:382757 發表于 2018-9-14 12:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
emWin 兩個窗口間的切換
  1. #include "DIALOG.h"
  2. #define ID_FRAMEWIN_0        (GUI_ID_USER + 0x00)
  3. #define ID_BUTTON_0                (GUI_ID_USER + 0x01)
  4. #define ID_BUTTON_1                (GUI_ID_USER + 0x02)

  5. static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {        //控件結構體數組
  6.         { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 320, 240, FRAMEWIN_CF_MOVEABLE, 0x64, 0 },
  7.         { BUTTON_CreateIndirect, "Button", ID_BUTTON_0, 5, 180, 60, 25, 0, 0x0, 0 },
  8.         { BUTTON_CreateIndirect, "Button", ID_BUTTON_1, 75, 180, 60, 25, 0, 0x0, 0 },
  9. };
  10. extern WM_HWIN hPage[4];
  11. static void _cbDialog(WM_MESSAGE * pMsg)
  12. {
  13.         WM_HWIN hItem;
  14.         int                 NCode;
  15.         int                 Id;
  16.         switch (pMsg->MsgId)
  17. {
  18.         case WM_INIT_DIALOG:      //初始化消息,創建窗口/控件時有效,比如在這里設置一些
  19. 控件的初始參數
  20.                 hItem = pMsg->hWin;
  21.                 FRAMEWIN_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER);
  22.                 FRAMEWIN_SetText(hItem, "Page 0");
  23.                 FRAMEWIN_SetTitleHeight(hItem, 18);
  24.                 FRAMEWIN_SetFont(hItem, GUI_FONT_16B_1);
  25.                 FRAMEWIN_SetTextColor(hItem, (0x008000FF));
  26.                 FRAMEWIN_AddCloseButton(hItem, FRAMEWIN_BUTTON_RIGHT, 0);
  27.                 FRAMEWIN_AddMaxButton(hItem, FRAMEWIN_BUTTON_RIGHT, 0);
  28.                 FRAMEWIN_AddMinButton(hItem, FRAMEWIN_BUTTON_RIGHT, 0);
  29.                 FRAMEWIN_SetClientColor(pMsg->hWin, GUI_GREEN);
  30.                 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_0);
  31.                 BUTTON_SetText(hItem, "Return");
  32.                 hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
  33.                 BUTTON_SetText(hItem, "Next");
  34.                 break;
  35.         case WM_PAINT:           //窗口重繪消息,這個比較難說明白,反正在Framewin或Window
  36. 窗體之中我們一般是用控
  37.                                           //件,如果要在Framewin或Window窗體之中顯示文字或繪制直線、
  38. 矩形、圓等在這里實現
  39.                 GUI_SetColor(GUI_BLUE);                                                                //設置前景顏色
  40.                 GUI_SetFont((GUI_FONT *)&GUI_Font16_ASCII);                            //設置當前字庫
  41.                 GUI_SetTextMode(GUI_TEXTMODE_TRANS);                                //設置文字透明顯示
  42.                 GUI_DispStringAt("neqee.com", 3, 3);                                        //重繪顯示文字
  43.                 break;
  44.         case WM_NOTIFY_PARENT:          //操作觸發消息處理(操作屏幕程序會跑到這里),
  45. 比如點擊按鍵、點擊編輯框(任何的操作)等等......
  46.                 Id                = WM_GetId(pMsg->hWinSrc);
  47.                 NCode = pMsg->Data.v;
  48.                 switch(Id) {
  49.                 case ID_BUTTON_0:                                                //ID為ID_BUTTON_0的按鍵被點擊
  50.                         switch(NCode)
  51. {
  52.                         case WM_NOTIFICATION_CLICKED:                //按下動作消息
  53.                                 break;
  54.                         case WM_NOTIFICATION_RELEASED:                //彈起動作消息
  55.                                 break;
  56.                         }
  57.                         break;
  58.                 case ID_BUTTON_1:                                                //ID為ID_BUTTON_1的按鍵被點擊
  59.                         switch(NCode)
  60.   {
  61.                         case WM_NOTIFICATION_CLICKED:                //按下動作消息
  62.                                 break;
  63.                         case WM_NOTIFICATION_RELEASED:                //彈起動作消息
  64.                                 WM_HideWindow(hPage[0]);                        //隱藏Page 0
  65.                                 WM_ShowWindow(hPage[1]);                //顯示Page 1
  66.                                 break;
  67.                         }
  68.                         break;
  69.                 }
  70.                 break;
  71.         default:
  72.                 WM_DefaultProc(pMsg);
  73.                 break;
  74.         }
  75. }
  76. static void _cbBackGround(WM_MESSAGE* pMsg)     //桌面背景的回調函數
  77. {               
  78. switch (pMsg->MsgId)
  79.         {
  80.         case WM_PAINT:               //窗口重繪消息,這個比較難說明白,反正在Framewin
  81. 或Window窗體之中我們一般是用控
  82.                                                     //件,如果要在Framewin或Window窗體之中顯示文字
  83. 或繪制直線、矩形、圓等在這里實現
  84.                 GUI_SetBkColor(GUI_RED);        //設置背景顏色
  85.                 GUI_Clear();                                                        //清屏
  86.                 break;
  87.         default: WM_DefaultProc(pMsg); break;
  88.         }
  89. }
  90. WM_HWIN CreateFramewin0(WM_HWIN hParent);
  91. WM_HWIN CreateFramewin0(WM_HWIN hParent)
  92. {
  93.         WM_HWIN hWin;
  94.         WM_SetCallback(WM_HBKWIN, _cbBackGround);         //設置桌面背景的回調函數
  95.         hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, hParent, 0, 0);
  96.         return hWin;
  97. }
復制代碼


enWin兩個窗口切換.docx

15.12 KB, 下載次數: 64, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2018-9-14 17:32 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

板凳
ID:108573 發表于 2020-2-9 11:15 | 只看該作者
這種比較耗內存,不過速度快。
回復

使用道具 舉報

地板
ID:701889 發表于 2020-5-13 19:14 | 只看該作者
一個物理按鍵切換多個界面怎么做,哪位有做過?
回復

使用道具 舉報

5#
ID:455905 發表于 2021-7-14 16:29 | 只看該作者
gcs001 發表于 2020-5-13 19:14
一個物理按鍵切換多個界面怎么做,哪位有做過?

大佬搞出來了嗎,我最近也在做這個功能
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区免费视频 | 美女福利网站 | 欧美一区二区三区在线观看 | 亚洲一区日韩 | 久久久久亚洲精品 | 奇米久久 | 国产女人第一次做爰毛片 | 97国产一区二区精品久久呦 | 91精品国产91久久久久久吃药 | 久久一及片 | 欧美成人黄色小说 | 日韩一级精品视频在线观看 | 成人精品鲁一区一区二区 | 久久精品成人 | 亚洲视频在线观看免费 | www.99re5.com| 亚洲一区二区三区免费在线观看 | 成人在线精品视频 | 欧美v免费 | 国产精品久久久久婷婷二区次 | 国产高清精品网站 | 国产精品1区 | 亚洲欧美综合精品久久成人 | 日韩av大片免费看 | 国产精品视频一二三区 | 亚洲欧洲精品成人久久奇米网 | 91精品国产综合久久久久久蜜臀 | 成人国产精品免费观看 | 国产精品精品 | 99热在线播放 | 欧美精品tv | av在线免费观看网站 | h在线观看 | 国产精品久久亚洲7777 | 色在线视频网站 | 日本 欧美 国产 | 精品成人 | 成人毛片视频免费 | 亚洲社区在线 | 亚洲一级淫片 | 午夜欧美一区二区三区在线播放 |