9. 消息框(lv_msgbox)

9.1. 概述

消息框充当弹出窗口。它们由背景容器,标签和按钮的 按钮矩阵(lv_imgbtn) 构建而成。

文本将自动分成多行(具有 LV_LABEL_LONG_MODE_BREAK ),高度将自动设置为包含文本和按钮( LV_FIT_TIGHT 垂直放置)

9.2. 零件和样式

消息框的主要部分称为 LV_MSGBOX_PART_MAIN ,它使用所有典型的背景样式属性。使用填充会增加侧面的空间。pad_inner将在文本和按钮之间添加空格。标签样式属性会影响文本样式。

按钮部分与 按钮矩阵(lv_imgbtn) 的情况相同:

LV_MSGBOX_PART_BTN_BG 按钮的背景

LV_MSGBOX_PART_BTN 按钮

9.3. 用法

设置文本 要设置文本,请使用 lv_msgbox_set_text(msgbox, "My text") 函数。不仅将保存文本指针,而且文本也可以位于局部变量中。

添加按钮 要添加按钮,请使用 lv_msgbox_add_btns(msgbox, btn_str) 函数。需要指定按钮的文本,例如 const char * btn_str[] = {"Apply", "Close", ""} 。有关更多信息,请访问Button矩阵文档。

仅当首次调用 lv_msgbox_add_btns() 时,才会创建 按钮矩阵(lv_imgbtn)。

自动关闭 使用 lv_msgbox_start_auto_close(mbox, delay) 可以在动画 延迟(delay) 了几毫秒后自动关闭消息框。 lv_mbox_stop_auto_close(mbox) 函数停止启动的自动关闭。

关闭动画的持续时间可以通过 lv_mbox_set_anim_time(mbox, anim_time) 设置。

9.4. 事件

除了 通用事件 ,复选框还支持以下 特殊事件 :

LV_EVENT_VALUE_CHANGED 单击按钮时发送。事件数据设置为单击按钮的ID。

消息框具有一个默认的事件回调,当单击按钮时,该事件回调将自行关闭。

了解有关 事件 的更多内容。

9.5. 按键处理

消息框可处理以下按键:

LV_KEY_RIGHT/DOWN 选择下一个按钮

LV_KEY_LEFT/TOP 选择上一个按钮

LV_KEY_ENTER 单击选定的按钮

了解有关 按键 的更多内容。

9.6. 范例

简单消息框: