问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ucgui的BUTTON控件问题

发布网友 发布时间:2022-05-02 12:18

我来回答

1个回答

热心网友 时间:2022-06-20 01:14

#include <stddef.h>
#include "GUI.h"
#include "DIALOG.h"
#include "WM.h"
#include "BUTTON.h"
#include "FRAMEWIN.h"

/*主界面的资源链表*/
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
    { FRAMEWIN_CreateIndirect,  "Caption",           0,                       0,  0,  320,240,FRAMEWIN_CF_MOVEABLE,0},
    { BUTTON_CreateIndirect,    "BUTTON0",           GUI_ID_BUTTON0,          84, 55, 134,56, 0,0}
};
/*按钮按下之后的资源链表*/
static const GUI_WIDGET_CREATE_INFO _aButtonCreate[] = {
    { FRAMEWIN_CreateIndirect,  "Caption",           0,                       0,  0,  320,240,FRAMEWIN_CF_MOVEABLE,0},
};
/*主界面的绘制函数*/
void PaintDialog(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
}
/*主界面的初始化函数,初始化标题栏的最大化,最小化,关闭按钮*/
void InitDialog(WM_MESSAGE * pMsg)
{
    WM_HWIN hWin = pMsg->hWin;
    //
    //FRAMEWIN
    //
    FRAMEWIN_AddCloseButton(hWin, FRAMEWIN_BUTTON_RIGHT, 0);
    FRAMEWIN_AddMaxButton(hWin, FRAMEWIN_BUTTON_RIGHT, 1);
    FRAMEWIN_AddMinButton(hWin, FRAMEWIN_BUTTON_RIGHT, 2);
}
/*按钮弹出界面的回调函数*/
static void _cbButtonCallback(WM_MESSAGE * pMsg) 
{
    WM_HWIN hWin = pMsg->hWin;
    switch (pMsg->MsgId) 
    {
case WM_INIT_DIALOG:
            InitDialog(pMsg);
            break;
        default:
            WM_DefaultProc(pMsg);
    }
}
/*主界面的回调函数*/
static void _cbCallback(WM_MESSAGE * pMsg) 
{
    int NCode, Id;
    WM_HWIN hWin = pMsg->hWin;
    switch (pMsg->MsgId) 
    {
        case WM_PAINT://绘制界面
            PaintDialog(pMsg);
            break;
        case WM_INIT_DIALOG://初始化界面
            InitDialog(pMsg);
            break;
#if 0
//这个是接收键盘上的按键的相应
        case WM_KEY:
            switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) 
            {
                case GUI_KEY_ESCAPE:
                    GUI_EndDialog(hWin, 1);
                    break;
                case GUI_KEY_ENTER:
                    GUI_EndDialog(hWin, 0);
                    break;
            }
            break;
#endif
        case WM_NOTIFY_PARENT:
            Id = WM_GetId(pMsg->hWinSrc); 
            NCode = pMsg->Data.v;        
            switch (Id) 
            {
                case GUI_ID_BUTTON0:
                    if(NCode==WM_NOTIFICATION_RELEASED)
{
                       GUI_ExecDialogBox(_aButtonCreate, GUI_COUNTOF(_aButtonCreate), &_cbButtonCallback, 0, 0, 0);
                    }
break;           
            }
            break;
        default:
            WM_DefaultProc(pMsg);
    }
}
/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/
void MainTask(void) 

    GUI_Init();
    WM_SetDesktopColor(GUI_WHITE);      /* Automacally update desktop window */
    WM_SetCreateFlags(WM_CF_MEMDEV);  /* Use memory devices on all windows to avoid flicker */
while(1)
{
        GUI_ExecDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), &_cbCallback, 0, 0, 0);
}
}

 

关于界面的创建可以用ucguibuilder来创建,它会自动生成代码;然后自己根据所需修改即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绩效工资从工资里扣合法吗 无人机电机轴的主要功能有哪些? 闽侯南通多久发展 南通哪个位置最有潜力 南通未来的机遇有哪些 江苏南通的发展前景怎么样 南通这座城市未来发展前景怎样 我女儿阳历08年01月08日出生,{农历07年腊月初一}请高人帮忙改个名字... 我女儿是2012年1月10日10:35分出生的五行缺什么,取什么名字好 这种图片效果怎么做出来的,不是纯白板,仔细看有一个个均匀分布的小圆点... 三星韩版DT35键盘 韩文版DT35 白色 韩版酷讯DT35 如何 三星酷讯DT35是机械键盘么? 路由上网问题 电脑版安卓刷机软件口碑最好的是哪个?好在哪方面? 联想笔记本Y450A—PSE怎么样?谁买了?多少钱? 路由器的控制? 路由器物理地址屏蔽 安卓手机刷机用哪个刷机软件好? 现在电脑的最新配置是那些 具体看详细 介绍一款性价比搞的笔记本 我不能登陆某网站,显示为:对不起,您的 IP 地址不在被允许的范围内,或您的账号被禁用,无法访问本论坛。 电信局在干扰,路由会掉线 8000元本本配置 如何破解电信封路由? 联想THINKPAD R400光驱无法正常显示及使用 买什么配置的笔记本 提示“同身份证最多可在三个上开通微众银行账户服务”? 解封为什么要填银行卡和预留手机号还有身份证? 如何解除微信银行卡绑定,或取消手机号绑定? 为什么我绑定了微信银行卡又自动解除绑定了 iPad要来有什么用 梦见在河边抓猫然后被咬 梦见抓知了被猫咬? 梦到在一个诊所去抓猫但是被猫咬了手背还出血了是什么意思 梦见被猫抓爪抓住甩掉又抓还被咬到手了 请问MyEclipse和MySql数据库连接怎么弄? does word puzzles中文是什么? dowordpuzzles的意思是什么,给个准确答案好吗? stay at home和do word puzzles什么意思? do word puzzles 什么意思 do word puzzles单三形式 do word puzzles的动名词形式 do puzzles 是什么意思? 我家猫咪皮肤挤出白色的膏体,还油乎乎的,什么病? dowordpuzzles怎么读 猫身上挤出白色东西,有个洞? 英语单词does word puzzles在英语句子里为什么会是 doing word puzzl 猫咪下巴上有疙瘩 he doesn&#39;t do word puzzles为什么用do? 猫咪下巴有个疙瘩