在【STM32H735-DK 测评】⑦TouchGFX显示图片与文本中我挖了一个坑,是文本的通配符,今天来填坑了。
鉴于现在代码的状态,我就在slider的这个页面中增加一个文本,用于显示舵机的角度
增加一个文本
移动位置,并修改显示内容为“舵机角度:XX度”,并设置字体为以前添加过的幼圆(字库生成还有通配符使用字符设置详见【STM32H735-DK 测评】⑦TouchGFX显示图片与文本)
增加通配符,把XX替换掉。通配符默认值设置为90,buffer为4(下图参数错误,应该是4,实测如果是3,那么数字≥100时,个位数就无法被显示。当然这个值可以往大了写)
然后生成代码
在slider的value改变的回调函数中增加改变通配符的代码
- Unicode::snprintf(textArea1Buffer, TEXTAREA1_SIZE, "%d", value);
- /* 重新绘制 */
- textArea1.invalidate();
复制代码
这样就可以了,实际测试后又有一个问题,当数字≥100时,后面的“度”字会自动后移,只显示一半了
这是因为这个文本框选择了Auto-size,这个勾选后,系统会根据设计界面实际占用的大小来设置文本框的尺寸。因此,我要把Auto-size去除,然后把宽度再加12(幼圆的中文宽度为24,数字为12)
再重新生成代码,烧录。效果如下
|