你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【ST学习小组】STM32自编GUI探讨小组

[复制链接]
xiaodc88 提问时间:2012-5-30 09:50 /
阅读主题, 点击返回1楼
收藏 评论24 发布时间:2012-5-30 09:50
24个回答
5186 回答时间:2012-7-12 12:10:42

RE:【ST学习小组】STM32自编GUI探讨小组

啊,这个找了好久,楼上的资料丰富、详实,申请加入,共同学习!
xiaodc88 回答时间:2012-7-12 12:11:56

RE:【ST学习小组】STM32自编GUI探讨小组

欢迎5186加入学习哈,来的正是时候啊
xiaodc88 回答时间:2012-7-12 12:23:10

RE:【ST学习小组】STM32自编GUI探讨小组

说明一下,本GUI是本人原创的,记得刚学GUI的时候,看了下其它的商业GUI,发现像天书一样的,不是入门者一下子能看懂的。于是想干脆自己写个得了,估计看懂别人的和自己搞个的时间、精力也差不多,于是乎就搞了这个。
我发布这个学习计划的目的也是希望大家能多动动脑筋,多些原创的东西,毕竟自己的才是最好的,以后系统维护起来也方便些。
如果大家有更好的思路,恳请承上来,大家分享。
5186 回答时间:2012-7-12 12:33:18

RE:【ST学习小组】STM32自编GUI探讨小组

请问如下这个函数具体是如何实现的
DispStringInRect(bt->x, bt->y, bt->xsize, bt->ysize,(bt->id),bt->TextColor,bt->TextBKColor,bt->TextAlign); //在矩形中显示字符串 (不显示矩形) 参数:左上X,左上Y,宽,高,字符串,前景色,背景色,对齐方式(可或运算)
xiaodc88 回答时间:2012-7-13 16:39:19

RE:【ST学习小组】STM32自编GUI探讨小组

回答楼上的提问,这个函数的实现有点长,我把代码贴出来参考
//在矩形中显示字字符串
//void DispStringInRect(uint8_t *str, struct Rect* pRect, uint8_t TextAlign,uint16_t Color, uint16_t bkColor)//在矩形中显示字符 参数:混合字符串,矩形,对齐方式(可以或运算)
void DispStringInRect(uint16_t x, uint16_t y, uint16_t xsize, uint16_t ysize,uint8_t *str,uint16_t Color,uint16_t bkColor, uint8_t TextAlign)//在矩形中显示字符串 参数:左上X,左上Y,宽,高,字符串,前景色,背景色,对齐方式(可或运算)
{
       
        uint8_t  *OldStr;          //字符串起始地址
        uint16_t ZF_Num;      //字符串字节数
        uint16_t ZF_Num_Rem;  //剩余字节数
        uint16_t OneLine_ZJ_Num;  //每行能显示的字节数
        uint16_t FirstLine_ZJ_Num;  //第一行能显示的字节数
        uint16_t ZF_Line_Num; //字符行数
        uint16_t Rect_X_Left; //矩形左
        uint16_t Rect_X_Right;//矩形右
        uint16_t Rect_Y_Top;  //矩形上
//        uint16_t Rect_Y_Bottom;//矩形下
        uint16_t Xpos;//字符显示X位置
        uint16_t Ypos;//字符显示Y位置
       
        OldStr=str;         //将起始址保存
        ZF_Num=0;//字节数初始化为0
        ZF_Line_Num=1;//字符行数初始为1
        FirstLine_ZJ_Num=0;  //第一行能显示的字节数初始化0
        OneLine_ZJ_Num=xsize/8;
        Rect_X_Left=x;                         //矩形左
        Rect_X_Right=x+xsize;         //矩形右
        Rect_Y_Top=y;                         //矩形上
//        Rect_Y_Bottom=y+ysize);         //矩形下
       
        Xpos=Rect_X_Left;
        Ypos=Rect_Y_Top;

//第一步:模拟显示一次统计字符总字节数及总行数 ++++++++++++++++++++++++++++++++++++
  do        //模拟显示一次统计字符总字节数及总行数          FirstLine_ZJ_Num
  {
          if(((signed char)(*str))>=0)        //如果是英文字符
          {
       ZF_Num++;//字节数加1
           str++;
                        if (Xpos
xiaodc88 回答时间:2012-7-13 16:39:58

RE:【ST学习小组】STM32自编GUI探讨小组

最后总结陈词,学到这里,一个简单但功能完备的GUI其实就已经完成了,由于相机坏了,我暂时就没拍图了,如有需要,等相机修好后补个图。
其实大家仔细看看就会发现,这个GUI是支持图片按钮的,也就是说像智能机上那种漂亮的图片按钮,你用这个GUI也能做出来,而且效果超好。由于创建按钮使用了动态内存管理,因此你可以创建无数版面的N多个按钮,只要一页显示的按钮数不要太多,总数随便多少都没有关系,不会消耗完你的系统资源的。
当然,你有可能想动态的改变某个按钮的文字或图片,这一切也能轻松做的,有基础的人应该一看就知道如何实现。
再次说明下,这个GUI是很简单的,但功能是完备的,效果是值得肯定的,性能是可靠的。祝大家学习愉快!有问题继续讨论!
long10112 回答时间:2012-7-13 20:52:19

RE:【ST学习小组】STM32自编GUI探讨小组

申请加入啊,呵呵手头有个触屏想玩玩。。。
5186 回答时间:2012-7-15 09:42:16

RE:【ST学习小组】STM32自编GUI探讨小组

啊哈,在楼主的指点下,我终于还做了个简单的GUI出来了,虽然还不够华丽,但我想思路应该是对的。继续完善中。。。。
楼主的砖抛的不错啊,我刨到玉了
fenchen-322257 回答时间:2012-7-25 10:18:02

RE:【ST学习小组】STM32自编GUI探讨小组

我申请加入,符合条件
xiaodc88 回答时间:2012-7-27 10:27:25

RE:【ST学习小组】STM32自编GUI探讨小组

有想探讨的继续跟帖啊,比比看哪个搞的GUI漂亮哈
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版