搜索
bottom↓
回复: 3

关于rtgui ,没有背景是什么情况?

[复制链接]

出0入0汤圆

发表于 2011-4-14 14:25:07 | 显示全部楼层 |阅读模式
调试了几个串口,好像都背景颜色,RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = green; 那个函数好像不起作用,不知道是什么原因,我刚刚接触不久。

下面是那个没有用到那个函数的,默认的应该是白色的吧,但是没有背景,谁可以帮帮我呀。
void msg(void)
{
  /* UI依赖于一定的线程环境,具体的,它依赖于一个消息队列,这个消息队列会接收来自GUI Server的请求信息 */
  rt_mq_t mq;  /* mq即这个消息队列 */
  rt_thread_t tid;
  rt_uint32_t user_data;
  struct rtgui_win* msgbox;  /* 显示一个消息窗口,这里是它相应的窗口指针 */
  struct rtgui_rect rect = {100, 100, 300, 300};  /* 窗口的显示位置 */
  
  /* UI中,消息是在线程间传递的,所以接收消息的消息队列需要紧贴到线程中去,RT-Thread中用到了线程的私有字段:user_data */
  tid = rt_thread_self();
  if (tid == RT_NULL) return; /* 获得当前线程,如果当前线程是空,即调度器未启动,UI不能使用,直接返回 */
  user_data = tid->user_data; /* 先保存老的user_data */
  
  /* 创建一个256 x 4的消息队列  */
  mq = rt_mq_create("msgbox", 256, 4, RT_IPC_FLAG_FIFO);
  /* 注_册消息队列mq到当前线程上 */
  rtgui_thread_register(tid, mq);
  
  /* 创建窗口,参数包含父控件,窗口标题、窗口位置(注意窗口的标题、边框是由GUI Server维护的,所以实际上大小要大上一圈),风格参数 */
  msgbox = rtgui_win_create(RT_NULL, "Information", &rect, RTGUI_WIN_STYLE_DEFAULT);
  if (msgbox != RT_NULL)
  {
    /* box是个盒子,更是一个布局的引擎,内部的空间不需要指定位置,可以由box自动布局 */
    struct rtgui_box* box = rtgui_box_create(RTGUI_VERTICAL, RT_NULL);
    struct rtgui_label* label = rtgui_label_create("Hello World"); /* 创建Hello World的标签 */

    rtgui_win_set_box(msgbox, box); /* 设置窗口的布局盒子 */
    RTGUI_WIDGET(label)->align = RTGUI_ALIGN_CENTER_HORIZONTAL | RTGUI_ALIGN_CENTER_VERTICAL; /* 标签的布局风格,垂直、水平居中 */
    rtgui_widget_set_miniwidth(RTGUI_WIDGET(label),130); /* 设置标签的最小长度 */
    rtgui_box_append(box, RTGUI_WIDGET(label)); /* 添加标签到盒子中 */
    rtgui_box_layout(box); /* 当所有控件添加完时,显式调用layout做盒子的自动布局 */
   
    rtgui_win_show(msgbox,RT_FALSE); /* 显示这个窗口 */
  }
  
  rtgui_win_event_loop(msgbox); /* 执行窗口的事件循环 */
  
  /* 能够走到这步,就意味着,这个窗口已经关闭了 */
  
  rtgui_thread_deregister(tid); /* 去注_册当前线程 */
  /* 删除相应的消息队列 */
  rt_mq_delete(mq);
  
  /* 恢复用户数据 */
  tid->user_data = user_data;
}



(原文件名:110414A001_副本.jpg)

出0入0汤圆

发表于 2011-4-14 14:42:41 | 显示全部楼层
先刷背景色

出0入0汤圆

 楼主| 发表于 2011-4-14 15:08:52 | 显示全部楼层
先刷背景色好像也不行呀 ,这个好像只是一个框框,里面的背景都是外部的大背景颜色。
hello world  好像也没有自动布局。

出0入0汤圆

发表于 2011-4-15 08:13:00 | 显示全部楼层
你先跑个GUI的example;
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 10:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表