发 帖  
原厂入驻New

请问事件的触发方式是什么?

27 事件
分享
事件回调函数  
事件的触发方式
0
2020-11-6 06:47:42   评论 分享淘帖 邀请回答
2个回答
事件回调函数
我们在上面看到有这么多的事件类型,是不是感觉有点难呢?其实我们平常开发中不会用到这么多的,也就是使用几个比较常见的,那我们再来温习一下事件回调函数的使用,首先你还是得创建一个控件对象,然后使用下面的函数绑定控件与事件回调函数,相信大家都还记得:
lv_obj_set_event_cb(btn, my_event_cb);   /*Assign an event callback*/
然后我们只需要在事件回调函数里处理控件发过来的事件类型就好了,就像下面那样:
static void my_event_cb(lv_obj_t * obj, lv_event_t event){    switch(event) {        case LV_EVENT_PRESSED:            printf("Pressed\n");            break;        case LV_EVENT_SHORT_CLICKED:            printf("Short clicked\n");            break;        case LV_EVENT_CLICKED:            printf("Clicked\n");            break;        case LV_EVENT_LONG_PRESSED:            printf("Long press\n");            break;        case LV_EVENT_LONG_PRESSED_REPEAT:            printf("Long press repeat\n");            break;        case LV_EVENT_RELEASED:            printf("Released\n");            break;    }       /*Etc.*/}
当然上面只是一个简单的例子,就跟我们前面学习按钮控件的时候差不多,当然这里只是简单跟大家看一下处理方式。
2020-11-6 15:58:14 评论

举报

事件的触发方式
事件的触发是有两种方式的,一种是控件的自动触发,比如你按下按钮后的自动触发,这是一种方式,不过这种方式比较被动。
还有一种方式就是我们可以手动触发,就是我们可以通过函数去触发事件回调,那么怎么做呢,其实就是很简单:
lv_event_send(label, LV_EVENT_VALUE_CHANGED, NULL);
其中第一个参数就是我们的控件,然后第二个参数就是我们想要触发的事件类型,也就是上面我们的列出来的那些事件类型。
2020-11-6 15:58:23 评论

举报

只有小组成员才能发言,加入小组>>

322个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表