某个界面管理很多下级设备,我们需要对设备的信息进行管理,如输入设备的编号“D1-4FJAT1、D1-4FJAT2、D1-4FJAT3...”等,如果每次都输入则有很多重复的内容降低了效率,可以采样如下方法实现复制粘贴:
1.创建1个文本框2个Button,一个实现复制,一个实现粘贴。
lv_obj_t * ui_Textarea;
lv_obj_t * ui_BtnCopy;
lv_obj_t * ui_BtnPaste;
2.在Button回调函数中实现复制粘贴功能。
void gui_btn_cb(lv_event_t * e)
{
statci char txt_buf[16];//缓存的大写由输入内容的多少而定
const char * txt;
uisigned int len;
lv_obj_t * obj = lv_event_get_target(e);
if(obj == ui_BtnCopy)
{
txt = lv_textarea_get_text(ui_Textarea);//获得输入的字符串
len = strlen(txt);//计算字符串的长度
memset(txt_buf,0,16);//清除上次缓存
memcpy(txt_buf,txt,len);//拷贝新的内容
}
else if(obj ==ui_BtnPaste)
{
txt = txt_buf;
lv_textarea_set_text(ui_Textarea,txt);//将缓存的字符串写回文本框从而实现粘贴功能
}
}
3.粘贴后我们只修改部分内容,大大的提高了效率。