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);//设置桌面窗口的背景色是白色

  • 相关阅读:
    Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
    Adobe After Effects CS6 操作记录
    编译安装和apt安装Nginx1.14.0
    Centos7.4和Ubuntu18.04安装PHP7.2
    Ubuntu与Windows7双系统下, 系统时间不一致的问题
    关于Thinkpad的立体声麦克风输入
    坑人的小米净水器: 漏水, 废水堵塞, 费用陷阱
    Photoshop CS6 操作记录
    Win7 64bit下值得推荐的免费看图软件
    Redis C客户端Hiredis代码分析
  • 原文地址:https://www.cnblogs.com/HumbleFish/p/8994218.html
Copyright © 2011-2022 走看看