事件回调函数
我们在上面看到有这么多的事件类型,是不是感觉有点难呢?其实我们平常开发中不会用到这么多的,也就是使用几个比较常见的,那我们再来温习一下事件回调函数的使用,首先你还是得创建一个控件对象,然后使用下面的函数绑定控件与事件回调函数,相信大家都还记得:
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("Pressedn"); break; case LV_EVENT_SHORT_CLICKED: printf("Short clickedn"); break; case LV_EVENT_CLICKED: printf("Clickedn"); break; case LV_EVENT_LONG_PRESSED: printf("Long pressn"); break; case LV_EVENT_LONG_PRESSED_REPEAT: printf("Long press repeatn"); break; case LV_EVENT_RELEASED: printf("Releasedn"); break; } /*Etc.*/}
当然上面只是一个简单的例子,就跟我们前面学习按钮控件的时候差不多,当然这里只是简单跟大家看一下处理方式。
事件回调函数
我们在上面看到有这么多的事件类型,是不是感觉有点难呢?其实我们平常开发中不会用到这么多的,也就是使用几个比较常见的,那我们再来温习一下事件回调函数的使用,首先你还是得创建一个控件对象,然后使用下面的函数绑定控件与事件回调函数,相信大家都还记得:
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("Pressedn"); break; case LV_EVENT_SHORT_CLICKED: printf("Short clickedn"); break; case LV_EVENT_CLICKED: printf("Clickedn"); break; case LV_EVENT_LONG_PRESSED: printf("Long pressn"); break; case LV_EVENT_LONG_PRESSED_REPEAT: printf("Long press repeatn"); break; case LV_EVENT_RELEASED: printf("Releasedn"); break; } /*Etc.*/}
当然上面只是一个简单的例子,就跟我们前面学习按钮控件的时候差不多,当然这里只是简单跟大家看一下处理方式。
举报