请教各位高手,有关ucgui stm32精美界面触摸屏的 GUI

UCGUI中的中的设备驱动解析_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
UCGUI中的中的设备驱动解析
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢uCGUI 移植到S3C44B0X实验
uCGUI 移植到S3C44B0X实验
一、实验目的
1. 初步掌握uCGUI底层硬件驱动函数;
2. 掌握将uCGUI移植到ARM S3C44BOX上的方法和步骤。
二、实验内容
移植uCGUI到ARM处理器S3C44BOX上,并编写Hello World程序,在Micetek 44B0实验平台的LCD上显示“Hello World!”字符串,在LCD显示平面坐标(20,20)处,显示一个小于10000的整数,该整数不断循环加1,每次加1后立即更新显示,从而反应出显示输出的速度。
三、预备知识
1. uCGUI的体系结构:
uCGUI包含三个总的文件夹:Applicaon,Config,GUI.其中:
Ⅰ Applicaon是应用程序的文件夹,它中间包含主函数文件,其它资源文件。
Ⅱ Config是GUI的配置文件夹,它包含三个文件:
& ★ GUICONF.H是uCGUI的配置文件,负责配置GUI的对OS,window manager,DMA,触摸屏,Unicode码的支持。以及设置默认字体和各种控件的默认颜色等。
& ★ GUITouchConf.h负责配置触摸屏。
& ★ LCDConf.h负责配置LCD显示器,如分辨率,颜色位数,以及LCD控制器的其它设置。
Ⅲ& GUI是uCGUI的实现部分,它是GUI最重要的组成部分,其中包含八—九个文件夹。
& ★& ConvertColor是彩色颜色转换文件夹,它里面包含24位色—各种颜色之间的转换的函数。
& ★& ConvertMono是灰度颜色转换文件夹,它里面包含24位色—单色,四级灰度,16级灰度和用户自定义颜色之间转换的函数。
& ★& Core是GUI的核心,GUI多数的处理函数都在这个文件夹里面。
& ★& Font是GUI的字体文件夹,我们可以通过对它里面文件的增减来增删字体。
& ★& LCDDriver是GUI的底层接口部分我们所移植的部分就应该在这个文件夹。
& ★& MemDev是GUI的DMA模式的一些处理函数文件。
& ★& Widget里面含有各种窗口控件,如对话框,按钮等控件。
& ★& WM是GUI的窗口消息处理函数文件夹。
& ★& Touch是触摸屏和鼠标的底层接口部分。
2.UCGUI需要移植的部分
① uCGUI移植需要修改的文件有:修改Main.c,LCDConf.h,在LCDDrive文件夹添加LCD 44b0.h, LCD 44b0.c其中LCD 44b0.h是LCD 44b0.c的声明,LCD 44b0.c提供一系列LCD底层函数接口。
② 若要支持DMA模式还要添加一个LCDMemc.h, LCDMemc.c文件。LCDMemc.h使LCDMemc.c的声明,LCDMemc.c使DMA模式的底层接口函数。
③ 若要支持触摸屏和鼠标还需要在GUICONF.H中修改一下定义:&&&
#define GUI_SUPPORT_TOUCH&&&&&&&& (1)
使GUI支持鼠标触摸屏,并配置GUITouchConf.h文件。在GUITouch下添加相应的接口驱动。
我们主要移植的使LCD的直接驱动模式,所以只需要修改&1&就行了。
我用的是JediView(for ARM)集成调试环境,其它环境类似,硬件为S3C44b0X,LCD为256色彩色液晶,分辨率为320×240。
四、实验设备及工具(包括软件调试工具)
硬件: Micetek 44B0 实验系统
JEDI仿真器
PC机 Pentumn100以上
软件: PC机操作系统win2000
JEDIView集成开发环境&
五、程序说明
新建一个文件夹uCGUI,添加以上体系的所有文件夹及文件加到uCGUI文件夹,删除LCDDrive文件夹下的LCDWin.c,它是在VC下的仿真驱动程序,在LCDDrive文件夹添加LCD 44b0.h, LCD 44b0.c。暂时不移植触摸屏驱动,可保持Touch目录为空,以后扩展时再用。
在uCGUI目录下新建一个Inc文件夹,将opon.h, 44b.h, 44blib.h, def.h,cache.h,lcdlib.h,44blcd.h添加进来。
将lcdlib.c添加到Applicaon文件夹。
新建一个工程也叫uCGUI,添加以上体系的所有文件夹及其内部文件加到uCGU工程。
修改include配置:打开 Tools-&Option-&Directory-&Include Files添加路径
……uCGUIguiConvertColor
……uCGUIguiConvertMono
……uCGUIguiCore
……uCGUIguiFont
……uCGUIguiLCDDriver
……uCGUIguiMemDev
……uCGUIguiWidget
……uCGUIguiWM
……uCGUIguiTouch
……:ucOSConfig
……guiApplication
其中……为你所建工程所在路径,以上这些路径在有的编译器可不加,自动找到,在JediView(for ARM)集成调试环境需要添加。
由于uCGUI 用到了数学库,在Gcc编译器下需要在link设置中添加-lm参数,使编译器可以找到数学库。
六、实验现象
液晶显示屏显示的是实验结果,其中第2行的数值不断加1跳变。
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
本文详细介绍了uC/GUI在ARM 内核S3C44B0X的移植。实践证明uC/GUI具有良好的实时性...
移植uCGUI到ARM处理器S3C44BOX上,并编写Hello World程序,在Micetek ...
本内容介绍了在MDK环境下将3.90版本的UCGUI移植到STM32下了,为了方便大家,特写此移植方...
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-ucGUI移植(工程源码+移植笔记)
& & & &&最近在弄的移植,网上搜了不少资料,也问了同学,总算把简单的一个程序弄好了,现在跟大家分享下心得。该程序是直接用的原子大哥的TFTLCD显示的例子,直接拿过来移植的。所用到的是原子大哥TFTLCD例子(库函数版本)和ucGUI3.90。建工程就不说了,附件里有,相信大家也看到别人建的工程了,下面直接说重点。由于笔记内容太多,就介绍其中几点(具体的还需看附件内容):1. 如果LCD驱动文件是lcd.c和lcd.h,最好改为别的名字,比如ili93xx.c和ili93xx.h。然后还要把LCD_Init()初始化函数改为LCDx_Init();2. 需要改的地方:
A. LCDConf.h中按照下面的图就行,其余的可以删除掉,注意红框中是刚刚改过的LCD初始化函数,改为刚刚更改的初始化函数就行。&B.接下来事GUIConf.h中的设置,目前只是用到简单的一个现实函数,多以就全部设为0C. 这个是LCD驱动函数的修改,这三个最好改红框选中的文件。接下来就是更改的第一块,首先的把第1部所更改的相应的LCD底层函数的头文件加进来,不然ucGUI没办法正常工作。然后就是第二个红框给为自己的驱动芯片型号。再就是第二块,找到画蓝线的两个函数,用方框里的函数取代,如果是用原子大哥的,第一个函数必须要用快速画点函数,因为函数参数里有颜色这个参数,画点函数没有,如果是别的程序,也是一样,加入画点函数就行,但必须要有颜色的参数。第二个函数就是读取某点的颜色值的函数,加进来就行,我这儿直接就用了原子大哥的程序。3. 最后修改主函数有人纳闷了,为什么把LCD初始化函数给注释掉了,没关系,在前面文件中不是有个宏定义嘛这个宏定义已经在这个文件中调用,见下图哦还有一项特别注意的,如果你用原子大哥的LCD初始化函数,移植完后,你会发现你的屏幕先白屏一下之后就马上黑屏,而且后面无论设置什么颜色都是这样的情况。在调用GUI_Init()的时候,这个函数会进入LCD_Init(),然后再LCD_Init()函数里面有这样的语句#if (GUI_DEFAULT_BKCOLOR != GUI_INVALID_COLOR)
/* Clear video memory */
LCD_SetDrawMode(GUI_DRAWMODE_REV);
LCD_FillRect(0,0, GUI_XMAX, GUI_YMAX);
LCD_SetDrawMode(0);
这句#if (GUI_DEFAULT_BKCOLOR != GUI_INVALID_COLOR)里面的GUI_DEFAULT_BKCOLOR 初值是OXFFFF, GUI_INVALID_COLOR 初值也是0XFFFF,而原子哥的初始化函数最后有一句LCD_Clear(WHITE);这样就把 GUI_INVALID_COLOR 的值设置成了0X0000;导致调用了下面的三个函数。从而出现上面的问题。只要把 原子哥 的初始化函数LCD_Clear(WHITE); 注释掉就不会错了,小问题大错误。这是引用的hua的帖子里的话,觉得很有用,就粘贴过来了。这就是一个基本的ucGUI的移植。该笔记放在附件了,有工程和源码,还有此贴的word文档。
电路相关文件(请在PC端查看下载)
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
该STM32掌上游戏机作品是用带触摸屏的彩色液晶屏作为主要的操作控制输入和显示界面,界面美观且操作方便;用功能强大且高性价比的STM32系列的单片机作为处理器,以及uC/OS-II实时嵌入式操作系统和uC/GUI图形用户界面函数库,使得该游戏机运行多任务时更顺畅以及界面更美观;该STM32掌上游戏机用小型锂电池供电,使得使用起来和携带更方便。目前STM32掌上游戏机内部游戏有: 黑白棋、俄罗斯方块。技术要点:1、STM32F103VET6单片机作为处理器;2、用uC\OS-II实时嵌入式操作系统处理多任务程序;3、用uC/GUI图形用户界面函数库编写游戏机界面;4、显示屏是分辨率为240*320的彩色液晶屏;5、用STM32内部的实时时钟提供日期和时间;6、用LTC4080作为电源管理管理芯片,保证锂电池充电安全以及供电稳定;7、用2MB的SPI Flash来存储汉字字库;8、用EERROM (AT25C512)存放一些系统配置变量;9、配备有256MB 的Nand Flash作为存储器;10、配有TF Card座作为存储器扩展;附件内容截图:
来自:时间:
本设计介绍的是基于LPC2478(ucGUI & emWin)电能质量监测仪显示屏产品,见附件下载其原理图及PCB。该LPC2478电能质量监测仪显示屏采用ARM7
LPC2478硬件平台设计;配备全彩触摸4.3寸显示屏,RS232&RS485&RS422通信接口。电能质量监测仪显示屏(ucGUI & emWin)程序源码(链接:http://www.cirmall.com/circuit/7063/)。该电能质量监测仪显示屏(ucGUI & emWin) 产品是一个电力行业电能质量监测仪的显示屏真实产品设计,可以用来学习ucgui或应用ucgui开发显示程序。该源码工程对于学习ucGUI & emWin的初学者或应用ucGUI & emWin开发界面程序的开发工程者极具参考意义,程序采用图标菜单模式设计,界面漂亮,应用几乎包含了ucGUI & emWin各种API的应用,如文字,图标显示,表格应用,各种控件应用,按键消息,触摸屏消息,图形显示等。LPC2478电能质量监测仪显示屏产品实物图:PCB文件截图,protel格式。
来自:时间:
该电能质量监测仪显示屏(ucGUI & emWin)软件源码示例了一个电力行业电能质量监测仪的显示终端设计,采用VC++的ucGUI & emWin仿真平台设计,旨在帮助中小企业及个人在应用ucGUI & emWin开发人机界面程序时,参考快速开发产品,也可以为初学者学习参考;程序采用图标菜单模式设计,界面漂亮;在应用ucGUI & emWin开发界面程序时,只需要将自己硬件平台的底层及ucGUI移植好,就可以快速将该程序移植到自己的平台,因为该程序与特定嵌入式硬件无关,是ucGUI & emWin的应用层;该源码工程对于学习ucGUI & emWin的初学者或应用ucGUI & emWin开发界面程序的开发工程者极具参考意义,应用几乎包含了ucGUI & emWin各种API的应用,如文字,图标显示,表格应用,各种控件应用,按键消息,触摸屏消息,图形显示等。源码编译运行环境:VC++;程序运行环境:PC计算机window系统;应用Microsoft Visual C++软件打开源码工程,编译或者直接执行结果如下:部分界面展示:文件截图:
来自:时间:
附件内容分享的是基于LabVIEW上位机与串口通信,通过LabVIEW上位机显示波形,在分享其实现的源码同时,分享一段LabVIEW上位机与串口通信工作原理。基于LabVIEW的串口波形上位机界面展示:定义通信格式及功能因为数据不算复杂,所以定义简单下位机帧格式:帧头(0xAA) 类型字节 数据低8位 数据高8位 保留字节1 保留字节2 校验字节 如果要传送的数据比较多/复杂,则可以参考ModuleBus协议!主要功能包括:
对帧中的类型字节进行解析,并多通道显示在示波器上帧偏差校正(这个一般人可能都没有做,造成数据丢失,而我这只要串口传输的数据没错,就能无错漏的解析每一帧)实时显示读取的每个字节/双字节/4字节信号保存,保存文件名自动按时间命名,适合查阅信号回放对信号进行解析,用指示灯显示程序关键点展示:上面虽然简单,但却是功能的最主要部分,包括帧头查找和错帧处理的程序。错帧发送的情况是:比如从串口中独到的帧并不是从帧头开始而是帧中间开始,如 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00其前面一帧可能是这样:... 0xAA(帧头) 0x01(类型) 0x01(数据) 这样,按查找帧头的方法,数据0x12就会丢失,实际数据按理应该是0x02*256+0x01,错帧处理就是将上一帧尾部不足一帧的部分加到下一帧中,这样下一帧就变成了:0xAA(帧头) 0x01(类型) 0x01(数据) 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00判断类型过程很简单,使用switch结构就行了(LabVIEW中就是条件结构同时实现了if和switch),编程时就是注意必须设置默认分支就行!文件保存我使用了数据表,因为它确实简单,这里的亮点是增加了按时间保存的功能,相当于将时间字符串加入到文件名中,这样便于后期对采集的数据进行查找,不至于混乱。波形回放就是将存储在数据表中的程序重新显示一遍,比较简单!
来自:时间:
附件内容是基于STM32的国网电表645协议读取源码。国网电表645协议C代码仿真编译OK截图,Keil4编译环境:
来自:时间:
猜你喜欢(实时推荐最适合你的电路)
该设计资料来自“电子工程世界”,原文出处:http://bbs.eeworld.com.cn/thread--1.htmlFFT 音乐频谱视频演示:附件内容分享的是基于LPC1114--音乐频谱源码。附件内容截图:
来自:时间:
STM32超声波测距,根据原子哥改装的,添加了lcd.c 和lcd.h文件,想显示出距离。可现在连主函数里的lcd字符显示都显示不出来,大神们,帮帮忙,看一看。(编译是没有错误的)。STM32 超声波测距源码截图:
来自:时间:
先说说硬件环境,使用的是STM32F4DISCO(自带加速度)+Si4703+LCD5110。软件设计上,虽然应用的核心功能是收音机了,但是和大部分的应用相似,没有良好的用户交互界面,使用体验是要大打折扣的。所以下面的文字大部分都集中在用户交互设计上。首先是控制部分,加速度计可以提供上下左右4个方向的控制,在应用中给音量增减和电台下上切台使用。由于敲击功能没有实现,因此电台的开关交给了开发板上的用户按键。用户按键原计划使用callback来实现功能,但是测试木有成功啊。不过既然加速度值也是用polling的话,那不如按键也一起好了。扫描使用最原始的方式,扫描到以后,延时10ms,然后再判断是否按下。加速度计在使用时,也存在类似的抖动,因此也使用了相同的逻辑来消抖。同时,通过测试,给定了一个加速度计倾转的阈值:g=0.3,也就是说当某个方向(不含z)的g大于0.3,表示有用户动作发生。接下来就是显示界面了。整个5110有6行高度为8的字符可用,每行84个点。应用要显示的核心内容是电台频率和音量,内容不多,因此可以适当放大。最终频率选择了12*24的字体,占用3行,又不会把整行撑满;音量做了以模拟的bar显示,用竖条|||||||的多少表示音量的打下,占用两行;这样还多出一行,用来显示一个固定字符串“PY FM Radio”。整体界面如下图所示:事先用其他方式确定了若干个本地效果较好的电台,放到了radiolist中。当发现有左右手势的时候,取出radiolist中的下一个电台频率值,发送给Si4703,并更新显示界面,电台频率是绕圈改变的,也就是说到了radiolist的最后一个,下一次就回到了第一个。当发现有上下手势时,对volume进行响应的改变,并发送给Si4703,并更新显示界面。音量最大15,最小0(表示静音)。当发现有用户按键动作时,在开关状态之间切换。关闭时,清除屏幕,关闭Si4703;开机时,正常显示,FM工作。视频演示:说明:
设计过程中发现了浮点数运算的精度问题。比如频率99.6Mhz,在list当中是存成996的,显示的时候,通过运算channel=str(996/10),将电台转为浮点字符串99.6。前期调试的时候,用的电台较少,没有问题。后面把所有电台都加上时,发现有些电台,比如890,做了除法运算以后,变成了89.0001,导致显示行方向溢出。最后通过字符串截取的方式取到自己想要的长度。python似乎没有printf?目前还有一些小问题,比如加速度识别的抖动有时候还会出现,音量有时候会有跳变等等。最后通过视频看下具体效果吧。详细的制作讲解和main.py见附件内容。
来自:时间:
该设计基于机智云gokit2.2板子完成,基于前面的新手教程,我把重要的修改代码的部分截图了。可能感兴趣的项目设计:GoKit2代Arduino底板程序+功能板原理图+下载教程,下载链接:http://www.cirmall.com/circuit/3915/detail?3(资料汇总)GoKit2代ST底板原理图+源代码+教程,下载链接:http://www.cirmall.com/circuit/3914/detail?3
来自:时间:
先来看看硬件资源:
主控是STM32F429IG,1MB flash,256KB RAM;外扩32MB SDRAM,用于暂存camera 输出的JPEG数据和LCD显存,摄像头这块使用DCMI传输数据。简单实现原理:
以太网使用lwip,netconn API编程,这种编程方式相比RAW 比较简单,只是需要OS的支持;然后,板子当服务器,PC当客户端,当建立连接后,服务器将采集到的摄像头数据发送到客户端显示。视频演示:关键代码截图(见附件内容下载):
来自:时间:
2015 年 08 月 26日
2017 年 01 月 16日
张帆购买了:
张帆购买了:
张帆购买了:
张帆购买了:
largesun购买了:
非洲大野驴购买了:
martinhermes购买了:
zhwangwust购买了:
免费下载!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。Runtime Error
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a &customErrors& tag within a &web.config& configuration file located in the root directory of the current web application. This &customErrors& tag should then have its &mode& attribute set to &Off&.
&!-- Web.Config Configuration File --&
&configuration&
&system.web&
&customErrors mode=&Off&/&
&/system.web&
&/configuration&
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the &defaultRedirect& attribute of the application's &customErrors& configuration tag to point to a custom error page URL.
&!-- Web.Config Configuration File --&
&configuration&
&system.web&
&customErrors mode=&RemoteOnly& defaultRedirect=&mycustompage.htm&/&
&/system.web&
&/configuration&1 Pages: 1/2& & &Go
主题 : UCGUI 触摸屏问题 请高手帮忙啊 !
级别: 新手上路
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
&UCGUI 触摸屏问题 请高手帮忙啊 !
我现在在调2440的7寸触摸屏程序,调这个程序时:&&GUI_MessageBox( &This text is shown\nin a message box&,&Caption/Titl&,GUI_MESSAGEBOX_CF_MOVEABLE);按下OK键有反应,但是好像按键再等待抬起一样就停住了,请问这是怎么回事?还请教您的指导!底层驱动:以下内容为程序代码:1 void GUI_TOUCH_Exec(void) {2 #ifndef WIN323 static U8 ReadS4 static int xPhys, yP5 int x,y;6 /* calculate Min / Max values */7 if (xyMinMax[GUI_COORD_X].Min < xyMinMax[GUI_COORD_X].Max) {8 xMin = xyMinMax[GUI_COORD_X].M9 xMax = xyMinMax[GUI_COORD_X].M10 } else {11 xMax = xyMinMax[GUI_COORD_X].M12 xMin = xyMinMax[GUI_COORD_X].M13 }14 if (xyMinMax[GUI_COORD_Y].Min < xyMinMax[GUI_COORD_Y].Max) {15 yMin = xyMinMax[GUI_COORD_Y].M16 yMax = xyMinMax[GUI_COORD_Y].M17 } else {18 yMax = xyMinMax[GUI_COORD_Y].M19 yMin = xyMinMax[GUI_COORD_Y].M20 }21 /* Execute the state machine which reads the touch */22 switch (ReadState) {23 case 0:24 yPhys = GUI_TOUCH_X_MeasureY();25 // GUI_TOUCH_X_ActivateY(); /* Prepare X- measurement */26 // ReadState++;27 //28 // default:29 xPhys = GUI_TOUCH_X_MeasureX();30 // GUI_TOUCH_X_ActivateX(); /* Prepare Y- measurement */31 /* Convert values into logical values */32 #if !GUI_TOUCH_SWAP_XY /* Is X/Y swapped ? */33 x = xP34 y = yP35 #else36 x = yP37 y = xP38 #endif39 40 if ((x <xMin) | (x>xMax) | (y <yMin) | (y>yMax)) {41 GUI_TOUCH_StoreState(-1,-1);42 } else {43 x = AD2X(x);44 y = AD2Y(y);45 GUI_TOUCH_StoreState(x,y);46 }47 /* Reset state machine */48 // ReadState=0;49 //50 }51 //Delay(100);52 #endif /* WIN32 */53 }54救命啊
级别: 新手上路
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
没人肯帮忙啊 ! 不过我自己解决了!
一个账号这么麻烦。草
级别: 新手上路
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 2 分
请问你用的7寸屏已经校准好了吗?能不能麻烦发一下那些校准的AD值,,前辈,,
还是市郊好
级别: 风云使者
发帖: 2732
金钱: 85175 两
威望: 17035 点
贡献值: 0 点
综合积分: 5464 分
不要等待机会,而要创造机会。22:56
级别: 风云使者
发帖: 2702
金钱: 13510 两
威望: 2702 点
贡献值: 0 点
综合积分: 5404 分
我帮你 喝喝
级别: 风云使者
发帖: 2713
金钱: 84685 两
威望: 16937 点
贡献值: 0 点
综合积分: 5426 分
ding&& 支持
级别: 风云使者
发帖: 2689
金钱: 13445 两
威望: 2689 点
贡献值: 0 点
综合积分: 5378 分
级别: 风云使者
发帖: 2713
金钱: 84685 两
威望: 16937 点
贡献值: 0 点
综合积分: 5426 分
水至清则无鱼,人至贱则无敌!
级别: 风云使者
发帖: 2702
金钱: 13510 两
威望: 2702 点
贡献值: 0 点
综合积分: 5404 分
我喝酒是想把痛苦溺死,但这该死的痛苦却学会了游泳。
级别: 风云使者
发帖: 2682
金钱: 13410 两
威望: 2682 点
贡献值: 0 点
综合积分: 5364 分
1 Pages: 1/2& & &Go
开发板销售: 售后客服: Powered by}

我要回帖

更多关于 ucgui源码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信