zoukankan      html  css  js  c++  java
  • EmWin 接触---基础函数

    创建对话框,需求两个基本要素:资源表和对话框过程。对话框可以基于阻塞(使用 GUI_ExecDialogBox())或非阻塞(使用 GUI_CreateDialogBox()
    方式创建。以下为例: 

    GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0)

    _aDialogCreate为资源表:

    static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
    { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 800, 480, FRAMEWIN_CF_MOVEABLE, 0x64, 0 }

    };

    #define GUI_COUNTOF(a)          (sizeof(a) / sizeof(a[0]));

    _aDialogCreate为对话框过程函数:

    static void _cbDialog(WM_MESSAGE * pMsg) 

    {

    WM_HWIN hItem;

    switch (pMsg->MsgId)

    }

    当pMsg->Msgld为 WM_INIT_DIALOG时,初始化窗口信息,给创建的窗口设置一个初值。

    当pMsg->Msgld为WM_NOTIFY_PARENT时,窗口操作值。

    具体函数分析:

    WM_HWIN GUI_CreateDialogBox(const GUI_WIDGET_CREATE_INFO * paWidget,
                          int NumWidgets,
                          WM_CALLBACK * cb,
                          WM_HWIN hParent,
                          int x0,
                          int y0);

    paWideget  ---- 定义对话框中所要包含的小工具的资源表的指针

    NumWidgets ---对话框中所包含的小工具的总数

    cb --- 应用程序特定回调函数(对话框过程函数)的指针

    hParent --- 父窗口的句柄(0表示没有父窗口)

    x0 --- 对话框相对于父窗口的X轴位置

    y0 --- 对话框相对于父窗口的Y轴位置

    void GUI_EndDialog(WM_HWIN hDialog, int r);

    hDialog --- 对话框的句柄

    r --- 由 GUI_ExecDialogBox 返回的值

    GUI_SetColor(GUI_BLUE);//设置桌面窗口的背景色是白色

  • 相关阅读:
    MIne FirstBlog
    P6563 [SBCOI2020]一直在你身旁
    P6563 [SBCOI2020]一直在你身旁
    T122085 [SBCOI2020]时光的流逝
    LC 918. Maximum Sum Circular Subarray
    1026 Table Tennis
    LC 1442. Count Triplets That Can Form Two Arrays of Equal XOR
    LC 1316. Distinct Echo Substrings
    LC 493. Reverse Pairs
    1029 Median (二分)
  • 原文地址:https://www.cnblogs.com/HumbleFish/p/8994218.html
Copyright © 2011-2022 走看看