当前位置: 首页 > wzjs >正文

网站开发的摘要有没有做请帖的网站

网站开发的摘要,有没有做请帖的网站,贵阳能做网站的公司有哪些,施工企业岗位证书有哪些复选框控件使用说明 一、控件概述 本复选框控件是一个适用于单片机图形界面的UI组件,基于单片机 RA8889/RA6809 TFT显示屏 GT911触摸屏开发。控件提供了丰富的功能和自定义选项,使用简单方便,易于移植。 主要特点: 支持可…

复选框控件使用说明

一、控件概述

本复选框控件是一个适用于单片机图形界面的UI组件,基于单片机 + RA8889/RA6809 + TFT显示屏 + GT911触摸屏开发。控件提供了丰富的功能和自定义选项,使用简单方便,易于移植。
在这里插入图片描述

主要特点:

  • 支持可配置的尺寸、位置和颜色
  • 支持文本标签显示
  • 支持启用/禁用状态切换
  • 支持显示/隐藏控制
  • 支持回调函数,可响应状态变化
  • 支持触摸事件处理

硬件平台:

  • 主控芯片(MCU):51/ARM均可(测试时使用STC8H8K64U单片机)
  • 图形处理芯片(Micro GPU):RA8889/RA6809
  • 显示屏:TFT(演示时采用分辨率1024x600)
  • 触摸屏:GT911电容触摸屏
  • 通信接口:SPI-4(亦可采用8080/SPI-3/I2C接口)

二、移植指南

1. 文件结构

滑动条控件/
├── main.c                    // 主程序示例文件
├── widget/                   // 控件相关文件
│   ├── checkbox.c            // 控件头文件,包含接口声明和配置定义
│   └── checkbox.h            // 控件头文件
├── touch/                    // 触摸屏相关文件
│   ├── GT911.c               // GT911触摸驱动实现
│   └── GT911.h               // GT911触摸驱动头文件
├── RA8889_01_Kernel/         // RA8889/RA6809图形处理芯片相关文件
│   ├── RA8889_51.c           // RA8889基础驱动
│   ├── RA8889_51.h           // RA8889基础头文件
│   ├── RA8889_API_51.c       // RA8889 API实现
│   ├── RA8889_API_51.h       // RA8889 API头文件
│   ├── RA8889_MCU_IF.c       // RA8889与MCU接口实现
│   ├── RA8889_MCU_IF.h       // RA8889与MCU接口头文件
│   ├── UserDef.h             // 用户定义头文件
│   ├── delay.c               // 延时函数实现
│   └── delay.h               // 延时函数头文件
└── 其他项目文件...

2. 依赖项

本控件依赖于以下组件:

  • RA8889/RA6809驱动(提供绘图和文本处理等功能)

3. 移植步骤

  1. checkbox.ccheckbox.h文件添加到您的项目中
  2. 在需要使用控件的文件中包含头文件:#include "checkbox.h"
  3. 确保您的项目中已经包含了必要的依赖项
  4. 根据您的硬件配置,可能需要修改以下定义(在checkbox.h中):
    • 颜色定义:CHECKBOX_BG_COLORCHECKBOX_BORDER_NORMAL
    • 对勾线条粗细:TICK_LINE_THICKNESS
    • 间距设置:PADDING
    • 最大控件数量:MAX_CHECKBOX
    • 标签文本长度:MAX_CHECKBOX_LABEL_LENGTH
    • 字体宽高:CHECKBOX_FONT_WIDTHCHECKBOX_FONT_HEIGHT

三、API说明

初始化函数

void Checkbox_Init(void)
  • 功能:初始化复选框控件系统
  • 参数:无
  • 返回值:无
  • 说明:使用其他API前必须先调用此函数

添加复选框

unsigned char Checkbox_Add(unsigned short x, unsigned short y, unsigned short width, unsigned short height,unsigned char changed_status, unsigned long checkbox_color_selected, unsigned long display_color)
  • 功能:添加一个新的复选框
  • 参数:
    • x:复选框X坐标
    • y:复选框Y坐标
    • width:复选框宽度
    • height:复选框高度
    • changed_status:初始状态,0为未选中,1为选中
    • checkbox_color_selected:选中状态的填充颜色
    • display_color:禁用状态的颜色
  • 返回值:新创建的复选框ID

设置标签

void Checkbox_SetLabel(unsigned char id, const char* label, unsigned long label_color)
  • 功能:设置复选框的文本标签
  • 参数:
    • id:复选框ID
    • label:标签文本
    • label_color:标签文本颜色
  • 返回值:无

启用/禁用控制

void Checkbox_Enable(unsigned char id, unsigned char enable)
  • 功能:设置复选框是否启用
  • 参数:
    • id:复选框ID
    • enable:是否启用,0为禁用,1为启用
  • 返回值:无

显示/隐藏控制

void Checkbox_Visible(unsigned char id, unsigned char visible)
  • 功能:设置复选框是否可见
  • 参数:
    • id:复选框ID
    • visible:是否可见,0为隐藏,1为显示
  • 返回值:无

绘制复选框

void Checkbox_Draw(unsigned char id)
  • 功能:绘制指定ID的复选框
  • 参数:
    • id:复选框ID
  • 返回值:无
void Checkbox_DrawAll()
  • 功能:绘制所有复选框
  • 参数:无
  • 返回值:无

触摸处理

void Checkbox_Process(unsigned char id)
  • 功能:处理复选框的状态变化
  • 参数:
    • id:复选框ID
  • 返回值:无
  • 说明:将切换复选框状态并调用回调函数
unsigned char Checkbox_HandleTouch(unsigned int touch_x, unsigned int touch_y)
  • 功能:处理触摸事件,检查是否触发了某个复选框
  • 参数:
    • touch_x:触摸X坐标
    • touch_y:触摸Y坐标
  • 返回值:触发的复选框ID,如果没有触发则返回0

回调函数设置

void Checkbox_SetCallback(unsigned char id, CHECKBOX_CALLBACK onChange)
  • 功能:设置复选框状态改变时的回调函数
  • 参数:
    • id:复选框ID
    • onChange:回调函数指针,原型为void (*CHECKBOX_CALLBACK)(void* checkbox, unsigned char status)
  • 返回值:无

四、使用示例

以下是一个简单的使用示例:

#include "checkbox.h"// 定义复选框ID
unsigned char checkbox_id1;// 回调函数
void Checkbox_Changed(void* checkbox, unsigned char status)
{CheckboxTypeDef* pCheckbox = (CheckboxTypeDef*)checkbox;// 执行状态变化后的操作if(status == 1) {// 选中状态的处理} else {// 未选中状态的处理}
}void main()
{// 其他初始化代码...// 初始化复选框控件Checkbox_Init();// 添加一个复选框checkbox_id1 = Checkbox_Add(300, 200, 28, 28, FALSE, 0x0000FF, 0x808080);// 设置标签Checkbox_SetLabel(checkbox_id1, "启用功能", 0x000000);// 启用复选框Checkbox_Enable(checkbox_id1, TRUE);// 显示复选框Checkbox_Visible(checkbox_id1, TRUE);// 设置回调函数Checkbox_SetCallback(checkbox_id1, Checkbox_Changed);// 绘制所有复选框Checkbox_DrawAll();// 主循环中的触摸处理while(1) {// 获取触摸坐标...// 检查是否触发了复选框unsigned char triggered = Checkbox_HandleTouch(touch_x, touch_y);// 如果触发了复选框if(triggered > 0) {// 处理复选框状态变化Checkbox_Process(triggered);}}
}

五、注意事项

  1. 最多支持创建MAX_CHECKBOX个复选框(默认为10个,根据需求进行修改)
  2. 标签文本长度不应超过MAX_CHECKBOX_LABEL_LENGTH(默认为50个英文字符)
  3. 使用回调函数时需要注意函数原型匹配:void (*CHECKBOX_CALLBACK)(void* checkbox, unsigned char changed_status)
  4. 在禁用状态下,复选框仍然可以显示,但不会响应触摸事件

六、源码下载

请看到视频最后面

七、视频介绍说明

单片机-RAIO液晶控制芯片-复选框控件


文章转载自:

http://KqavLk8Z.jfcbz.cn
http://seEGw41L.jfcbz.cn
http://aIAu4WzZ.jfcbz.cn
http://zRmfesxQ.jfcbz.cn
http://irQayjEV.jfcbz.cn
http://seoHsFUs.jfcbz.cn
http://umak68hQ.jfcbz.cn
http://WhWOz1Jd.jfcbz.cn
http://98QwcSiu.jfcbz.cn
http://37SvYae3.jfcbz.cn
http://O6ybeDeE.jfcbz.cn
http://QfLrGRfj.jfcbz.cn
http://wFNRr0Ez.jfcbz.cn
http://sYHXR3s7.jfcbz.cn
http://vxo2d7Ja.jfcbz.cn
http://chwpDdM2.jfcbz.cn
http://N99UXCRv.jfcbz.cn
http://zfoMMVuR.jfcbz.cn
http://QuofuFDZ.jfcbz.cn
http://wJmXS3R2.jfcbz.cn
http://Kbp4M86t.jfcbz.cn
http://jAb7FJMW.jfcbz.cn
http://X2LGkSSy.jfcbz.cn
http://7XCfmqcA.jfcbz.cn
http://WtwBLouQ.jfcbz.cn
http://yZF8ZXjr.jfcbz.cn
http://e4qNT5pT.jfcbz.cn
http://3DmSyYl8.jfcbz.cn
http://gasVdLD2.jfcbz.cn
http://avYxPxfF.jfcbz.cn
http://www.dtcms.com/wzjs/658973.html

相关文章:

  • 企业自有网站南宁网站建设制作后台
  • 介绍旅游美食的网站模板做网站如何链接邮箱
  • 川畅互联咨询 网站建设松原网站制作
  • 商用营销型网站建设优化建站wordpress自带的文章图片怎么修改
  • 开的免费网站能赚钱吗网络推广属于什么行业
  • 做导购网站要多少钱企业网站建设规划的基本原则
  • 做的比较好的几个宠物网站送上门卤菜网站要怎么做
  • 海东市网站建设深圳宝安区有哪些街道
  • 怎么开网站平台挣钱关键词拓展工具有哪些
  • 绑定手机网站文件夹优化防控举措
  • 口碑最好的网站建设镇江本地网站
  • 西安有什么好玩的景点seo优化
  • 购物网站模块是什么意思四川整站优化关键词排名
  • 建一个电影网站多大 数据库国内外搜索引擎大全
  • 免费机械网站模板网罗设计网站
  • 江苏缘生源建设工程有限公司网站西安市免费做网站
  • 做网站公司汉狮团队WordPress发表心情
  • 网站怎么做微信支付宝支付网站建设皖icp
  • 高米店网站建设西宁啥时候恢复正常
  • 哪个公司做企业网站好wap网站和app的区别
  • 怎样做直播网站app北京公司注册虚拟地址
  • 家庭电影网站建设flash型网站
  • 做网站好还是做安卓app好新北方app下载
  • 网站哪家做的比较好现在装宽带要多少钱
  • 网站建设详细流wordpress hook机制
  • 做网站需要的技术扬中网站建设开发
  • 投资建设网站wordpress redis 加速
  • 建立个人博客网站的流程利用php做网站
  • 网站建设选哪个微信公众号调用WordPress
  • 大兴网站建设优化seo广西城乡和建设厅网站