Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
贴一些RTGUI_win分支的图片
发布于 2011-05-01 10:14:42 浏览:6639
订阅该版
为了方便用户学习使用,rtgui_win分支使用了与rtgui相同的例子,区别在于文件名被命名成xxx_gui_xxx.c的形式。可以从SVN上的example中获得这些代码。 在demo_gui_main.c文件中添加这些测试代码。[attachment=-9] 深灰色的矩形框是view的边框,rtgui_win分支中将view设定为可以任意设定大小,作为groupbox来使用,为了方便测试,所以一起绘制了view的边框,用户在实际使用中可以取消绘制边框。 [attachment=-8] 当按下鼠标时,可以得到下图的效果。用户也可以将触发事件改成按键。我的板子没有按键,所以使用鼠标触发。这个测试只是为了验证GUI的绘图速度,长时间跑这个测试,可能会引起死机,这是正常的,用户可以自己去分析代码,消息会堵塞掉。如果用户想使用该功能,需要做些修改。 [attachment=-7] [attachment=-6] RTGUI的绘图基本上是建立在DC机制之上的。所以很多界面都使用DC进行绘图,当然这样会使绘图效率有所下降,优点是,用户不用关心使用哪种方式绘图,RTGUI为用户作出了最平衡的绘图选择,如果用户需要实现最高效的绘图,需要自行实现底层绘图api,这些api在lcd.c中,绕开DC机制,并自行处理控件剪切。 [attachment=-5] 哦,底色不一致,呵呵。 [attachment=-4] 将来可能会为window引入分层机制,以便实现SDI、MDI效果。 [attachment=-3] [attachment=-2] [attachment=-1] [attach]0[/attach] ![Test Code.PNG](https://oss-club.rt-thread.org/uploads/1044_dc5a76db1ffe910adeabaee511fe1a1f.png) ![绘图测试1.PNG](https://oss-club.rt-thread.org/uploads/1044_86809f4ff39bb69e015885c13408be5d.png) ![绘图测试2.PNG](https://oss-club.rt-thread.org/uploads/1044_c9b5a48951a0190f03dd5ad9b571cde8.png) ![缓冲DC演示.PNG](https://oss-club.rt-thread.org/uploads/1044_38d4c632a2607d5469502fe5696213fc.png) ![DC动画.PNG](https://oss-club.rt-thread.org/uploads/1044_7b791003036047b991b928f4651e3449.png) ![DC缓冲区动画.PNG](https://oss-club.rt-thread.org/uploads/1044_e8699e0c8ce673aad2417feb7aa054b4.png) ![Window Demo.PNG](https://oss-club.rt-thread.org/uploads/1044_fb0280429e0b796dde3b57ef78dc76a4.png) ![Label View.PNG](https://oss-club.rt-thread.org/uploads/1044_8022ac2b8532cb5abdb1d0a0b0e4f6f8.png) ![Button View.PNG](https://oss-club.rt-thread.org/uploads/1044_7b9df3180189f5f6968ba72e52ca4e01.png) ![CheckBox View.PNG](https://oss-club.rt-thread.org/uploads/1044_b0fba78a34bf6c4ab3468d2c7a1ff126.png) ![ProgressBar View.PNG](https://oss-club.rt-thread.org/uploads/1044_2328b3cdcfd209be6327a980ce01e256.png) ![ScrollBar View.PNG](https://oss-club.rt-thread.org/uploads/1044_7c9b869220c7ffe443ee0f7a68fa1b10.png) ![RadioBox View.PNG](https://oss-club.rt-thread.org/uploads/1044_7d73abad2b144a56cb4d9247bd43f296.png) ![TextBox View.PNG](https://oss-club.rt-thread.org/uploads/1044_5c77c18697430dd9c03a0e24dfb25740.png) ![ListBox.PNG](https://oss-club.rt-thread.org/uploads/1044_e75ffe16801fec0d46c01bdd00ad6d85.png) ![Menu View.PNG](https://oss-club.rt-thread.org/uploads/1044_37a71ad764f874806bf1c726213d15a2.png) ![ListCtrl View.PNG](https://oss-club.rt-thread.org/uploads/1044_11c41fc4af6c75420e535b2e0b264be2.png) ![ComboBox View.PNG](https://oss-club.rt-thread.org/uploads/1044_a1b0e6aafdbb63e7b0fc8778b871b32d.png) ![Slider View.PNG](https://oss-club.rt-thread.org/uploads/1044_405040cf280d88a99cc5fcce221894a2.png) ![图像演示.PNG](https://oss-club.rt-thread.org/uploads/1044_26b4fadc2d46251a97b508608b8b025e.png) ![RTTAB View.PNG](https://oss-club.rt-thread.org/uploads/1044_5f434074289e6fd6544153948cd4c8fd.png) ![RTTAB-I.PNG](https://oss-club.rt-thread.org/uploads/1044_60306b0adda04bfb606fc6f2bd5456bc.png)
查看更多
7
个回答
默认排序
按发布时间排序
bernard
2011-05-01
这家伙很懒,什么也没写!
还可以再放些大图,记得你原来针对大屏幕设计的UI挺不错的,很类似Win32的风格。
amsl
2011-05-01
这家伙很懒,什么也没写!
[attachment=-9] [attachment=-8] [attachment=-7] 在rtgui_win中,radiobox控件设定为是一个独立的个体,使用一个简单的组策略来管理它们,所以在布局时非常灵活,这种设定为使用设计器设计界面带来很大方便。 [attachment=-6] [attachment=-5] listbox的成员设计成动态方式,这是为了方便使用添加、插入、删除等方法。这个例子中使用到了添加方法,新添加的item会添加到列表尾部。其它方法会在以后逐步完善。 [attachment=-4] Menu是个比较复杂的控件。在PC平台上,Menu是一个很复杂的设计。Menu的popup item需要支持展开、收缩特性。菜单栏一般在界面或窗体的上部紧贴标题栏,它作为一个普通控件使用,它的剪切操作受父控件的影响。每个popup菜单需要使用窗口win来承载,popup菜单的剪切操作受win的剪切规则约束。popup菜单与父子popup菜单之间还要考虑焦点跃迁问题。整个menu系统需要兼容鼠标、按键的响应,同时它应该能响应控件内的点击事件和控件外的点击事件。目前的menu基本功能已经可以了,还有些小问题在调试。 [attachment=-3] listctrl直接移植的rtgui中的实现,还用很多控件也类似。 [attachment=-2] [attachment=-1] [attach]0[/attach] 图像演示中,同时使用了filelistview控件,这个控件也为用户提供了一个访问对话框其他资源的接口,还比较弱,有兴趣的可以研究下。
amsl
2011-05-05
这家伙很懒,什么也没写!
[attach]620[/attach] [attach]621[/attach] 当向tab控件中添加的tag标签总显示宽度超出tab控件的显示宽度时,自动激活propel控件(一个updown辅助控件),效果如图I-1.为了便于观察,为每个标签设置了单独的背景色。用户可以通过propel控件移动tagbar-即标签栏。按照PC上TAB控件的习惯用法,只移动标签栏,并不会切换当前的tag页,效果如图I-2所示。当在标签栏上点击某个tag时,才会激活该tag页,如图I-3所示。 标签栏显示在tab控件下方的效果与上面的相似。
haitao52198
2013-12-24
这家伙很懒,什么也没写!
嗯,看到了,谢谢啊,我找找看
寒泪无痕
2013-12-25
这家伙很懒,什么也没写!
您好,请问你用rtgui_dc刷新一些数据屏幕会闪烁吗
amsl
2013-12-27
这家伙很懒,什么也没写!
刷新时是否闪烁不止取决于向LCD传输数据的速度,还收更新数据的方式的影像。 如果传输数据的速度很慢,那么先clear再draw的方式会引起闪烁, 所以你可以更改下相关的update函数,不再clear控件的背景rect, 直接draw,再clear无需draw的区域,这样再慢的传输速度,也可以降低闪烁现象。
撰写答案
登录
注册新账号
关注者
0
被浏览
6.6k
关于作者
amsl
这家伙很懒,什么也没写!
提问
12
回答
137
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
20
个答案
2
次被采纳
张世争
11
个答案
2
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部