[English]

Message box(消息框) (lv_msgbox)

Overview(概述)

显示原文

The Message boxes act as pop-ups. They are built from a background container, a title, an optional close button, a text and optional buttons.

The text will be broken into multiple lines automatically and the height will be set automatically to include the text and the buttons.

The message box can be modal (blocking clicks on the rest of the screen) or not modal.


消息框充当弹出窗口。它们是从背景容器、标题、可选的关闭按钮、文本和可选按钮构建的 。

文本将自动分解为多行,高度将自动设置为包含文本和按钮。

消息框可以是模态的(阻止对屏幕其余部分的单击) 或者不是模态。

Parts and Styles(零件和样式)

显示原文

The message box is built from other widgets, so you can check these widgets' documentation for details.


消息框是从其他控件构建的,因此您可以选中这些控件的文档了解详细信息。

Usage(用法)

Create a message box(创建消息框)

显示原文

lv_msgbox_create(parent, title, txt, btn_txts[], add_close_btn) creates a message box.

If parent is NULL the message box will be modal. title and txt are strings for the title and the text. btn_txts[] is an array with the buttons' text.

E.g. const char * btn_txts[] = {"Ok", "Cancel", NULL}. add_close_btn can be true or false to add/don't add a close button.


lv_msgbox_create(parent, title, txt, btn_txts[], add_close_btn) 创建一个消息框。

如果 parentNULL ,则消息框将是模态的。 titletxt 是标题和文本的字符串。 btn_txts[] 是一个数组替换为按钮的文本。

例如 const char * btn_txts[] = {"Ok", "Cancel", NULL}add_close_btn 可以是 truefalse 添加/不添加关闭按钮。

Get the parts(获取零件)

显示原文

The building blocks of the message box can be obtained using the following functions:


消息框的构建块可以使用 以下功能:

lv_obj_t * lv_msgbox_get_title(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_close_btn(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_text(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_btns(lv_obj_t * mbox);

Close the message box(关闭消息框)

显示原文

lv_msgbox_close(msgbox) closes (deletes) the message box.


lv_msgbox_close(msgbox) 关闭(删除)消息框。

Events(事件)

显示原文

Learn more about Events(事件).


详细了解更多 Events(事件)

Keys(按键)

显示原文

Keys have effect on the close button and button matrix. You can add them manually to a group if required.

Learn more about Keys(按键).


按键对关闭按钮和按钮矩阵有影响。您可以添加它们如果需要,手动添加到组中。。

了解有关 Keys(按键) 的更多信息。

Example

[English]

Simple Message box

#include "../../lv_examples.h"
#if LV_USE_MSGBOX && LV_BUILD_EXAMPLES

static void event_cb(lv_event_t * e)
{
    lv_obj_t * btn = lv_event_get_target(e);
    lv_obj_t * label = lv_obj_get_child(btn, 0);
    LV_UNUSED(label);
    LV_LOG_USER("Button %s clicked", lv_label_get_text(label));
}

void lv_example_msgbox_1(void)
{
    lv_obj_t * mbox1 = lv_msgbox_create(NULL);

    lv_msgbox_add_title(mbox1, "Hello");

    lv_msgbox_add_text(mbox1, "This is a message box with two buttons.");
    lv_msgbox_add_close_button(mbox1);

    lv_obj_t * btn;
    btn = lv_msgbox_add_footer_button(mbox1, "Apply");
    lv_obj_add_event_cb(btn, event_cb, LV_EVENT_CLICKED, NULL);
    btn = lv_msgbox_add_footer_button(mbox1, "Cancel");
    lv_obj_add_event_cb(btn, event_cb, LV_EVENT_CLICKED, NULL);
    return;
}

#endif

API

lv_msgbox.h