基本使用


  • ```

    include

static lv_obj_t* btn;

static void btn_event_handler(lv_obj_t* obj, lv_event_t event) { if (obj == btn) { if (event == LV_EVENT_CLICKED) { printf(“Btn1 Clicked\n”); } } }

void lv_ex_style_1(void) { btn = lv_btn_create(lv_scr_act(), NULL); lv_obj_t* label = lv_label_create(btn, NULL); lv_label_set_text(label, “button”);

  1. lv_obj_set_event_cb(btn, btn_event_handler);

}

<a name="KtWpv"></a>
#### 事件列表lv_event_t

enum { LV_EVENT_PRESSED, /< The object has been pressed*/ LV_EVENT_PRESSING, /< The object is being pressed (called continuously while pressing)/ LV_EVENT_PRESS_LOST, /**< User is still pressing but slid cursor/finger off of the object / LV_EVENT_SHORT_CLICKED, /< User pressed object for a short period of time, then released it. Not called if dragged. */ LV_EVENT_LONG_PRESSED, /< Object has been pressed for at least LV_INDEV_LONG_PRESS_TIME. Not called if dragged./ LV_EVENT_LONG_PRESSED_REPEAT, /**< Called after LV_INDEV_LONG_PRESS_TIME in every LV_INDEV_LONG_PRESS_REP_TIME ms. Not called if dragged./ LV_EVENT_CLICKED, /< Called on release if not dragged (regardless to long press)*/ LV_EVENT_RELEASED, /< Called in every cases when the object has been released/ LV_EVENT_DRAG_BEGIN, LV_EVENT_DRAG_END, LV_EVENT_DRAG_THROW_BEGIN, LV_EVENT_GESTURE, /**< The object has been gesture/ LV_EVENT_KEY, LV_EVENT_FOCUSED, LV_EVENT_DEFOCUSED, LV_EVENT_LEAVE, LV_EVENT_VALUE_CHANGED, /< The object’s value has changed (i.e. slider moved) */ LV_EVENT_INSERT, LV_EVENT_REFRESH, LV_EVENT_APPLY, /< “Ok”, “Apply” or similar specific button has clicked/ LV_EVENT_CANCEL, /**< “Close”, “Cancel” or similar specific button has clicked/ LV_EVENT_DELETE, /< Object is being deleted */ _LV_EVENT_LAST / Number of events/ }; typedef uint8_t lv_event_t; /**< Type of event being sent to the object. / ```