爱板网论坛

查看: 206|回复: 0

[教程] 27..STM32F469I---入门GUI-DEMO

[复制链接]

主题

好友

6907

积分

状元

  • TA的每日心情
    郁闷
    17 小时前
  • 签到天数: 621 天

    连续签到: 42 天

    [LV.9]以坛为家II

    发表于 2018-1-12 17:27:06 |显示全部楼层
    【STM32F469I试用】入门(八):GUI-DEMO【转】

    这个工程真是庞大啊,只是编译就用了两分钟多。

    1.jpg


    在Application/Demo中,每一个c文件对应了一个界面。几乎是把GUI中涉及到的控件全都有了。在使用的时候这是一个不错的参考。

    2.jpg


    其中main.c中的main函数只是对外设进行了必要的初始化。真正的main函数在GUIDEMO.c中的static void _Main(void)。
    static void _Main(void) {
      int xSize;
      int ySize;

      WM_SelectWindow(WM_HBKWIN);
      GUI_Clear();
      #if (GUI_SUPPORT_CURSOR | GUI_SUPPORT_TOUCH)
    //    GUI_CURSOR_Show();
      #endif
      //
      // Create and configure Control and Information window
      //
      xSize           = LCD_GetXSize();
      ySize           = LCD_GetYSize();
      _hDialogControl = GUI_CreateDialogBox(_aFrameWinControl, GUI_COUNTOF(_aFrameWinControl), &_cbFrameWinControl, WM_HBKWIN, xSize - CONTROL_SIZE_X, ySize - CONTROL_SIZE_Y);
      _hDialogInfo    = GUI_CreateDialogBox(_aFrameWinInfo,    GUI_COUNTOF(_aFrameWinInfo),    &_cbFrameWinInfo,    WM_HBKWIN, (xSize >> 1) - 1,       0);
      WM_HideWindow(_hDialogInfo);
      //
      // Show Intro
      //
      WM_InvalidateWindow(_hDialogControl);
      WM_DisableMemdev(WM_HBKWIN);
      GUI_Exec();
      WM_EnableMemdev(WM_HBKWIN);

      GUI_SetBkColor(GUI_RED);
      GUI_Clear();
      GUI_SetBkColor(GUI_GREEN);
      GUI_Clear();
      GUI_SetBkColor(GUI_BLUE);
      GUI_Clear();

      GUIDEMO_Intro();
      //
      // Run the demos
      //
      for (_iDemo = 0; _GUIDemoConfig.apFunc[_iDemo]; _iDemo++) {
        _ClearHalt();
        GUIDEMO_UpdateControlText();
        (*_GUIDemoConfig.apFunc[_iDemo])();
        _iDemoMinor = 0;
        _Pressed    = 0;


      }
      _iDemo = 0;
      //
      // Cleanup
      //
      WM_DeleteWindow(_hDialogControl);
      WM_DeleteWindow(_hDialogInfo);
      #if (GUI_SUPPORT_CURSOR | GUI_SUPPORT_TOUCH)
        GUI_CURSOR_Hide();
      #endif
    }

    每一屏的循环显示是在for循环中。
    每一个*_GUIDemoConfig.apFunc对就了一具C文件中的界面初始化函数。
    下面是显示效果。
    对于那个海豚的界面,海豚游的很流畅。

    3.jpg


    4.jpg


    5.jpg


    6.jpg


    7.jpg






    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2018-6-22 17:02 , Processed in 0.079165 second(s), 13 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部