Message box(消息框) (lv_msgbox)
Overview(概述)
显示原文
Message boxes act as pop-ups. They are built from a content area with a helper to add text, an optional header (which can have a title, a close button, and other buttons), and an optional footer with buttons.
The text will be broken into multiple lines and the height will be set automatically. If the height is set manually, the content will become scrollable.
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.
Content, header, and footer: lv_obj
Buttons: Button(按钮) (lv_button)
Title and content text: Label (标签)(lv_label)
消息框是由多种控件组成的,下面是各个控件(组成)对应的文档:
内容区域、头部和底部: lv_obj
标题和内容文本: Label (标签)(lv_label)
Usage(用法)
Create a message box(创建消息框)
显示原文
lv_msgbox_create(parent) creates a message box.
If parent
is NULL
the message box will be modal, and will use the
default_display's Top Layer as a parent.
lv_msgbox_create(parent)`用于创建一个消息框。 如果 ``parent``为 ``NULL`,那么该消息框将是模态的,并会使用 default_display 的顶层 Layer 作为父级对象。
Get the parts(获取各个组成部分)
显示原文
The building blocks of the message box can be obtained using the following functions:
lv_obj_t * lv_msgbox_get_content(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_title(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_header(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_footer(lv_obj_t * msgbox);
Functions that add something to the message box return a pointer to the newly added Widget:
消息框的各个组成部分(控件)可以通过以下接口获取:
lv_obj_t * lv_msgbox_get_content(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_title(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_header(lv_obj_t * msgbox);
lv_obj_t * lv_msgbox_get_footer(lv_obj_t * msgbox);
那些向消息框中添加内容的函数会返回一个指向新添加部件的指针:
Close the message box(关闭消息框)
如果你要删除消息框,不建议直接调用 lv_obj_delete 函数进行操作,而是使用 lv_msgbox_close 函数
显示原文
lv_msgbox_close(msgbox) closes (deletes) the message box.
lv_msgbox_close_async(msgbox) closes (deletes) the message box
asynchronously. This is useful if you want the message box to close the on
the next call to lv_timer_handler
instead of immediately.
lv_msgbox_close(msgbox) 关闭(删除)消息框。
lv_msgbox_close_async(msgbox) 异步关闭(删除)消息框。这在如果你想要在下一次调用 lv_timer_handler
时而不是立即关闭消息框时非常有用。
Events(事件)
显示原文
No special events are sent by this Widget, though its parts can send events. See their documentation for details: Button(按钮) (lv_button) and Label (标签)(lv_label).
Further Reading
Learn more about Base-Widget Events emitted by all Widgets.
Learn more about Events(事件).
该部件不会发送特殊事件,不过其各部分可以发送事件。详情请参阅它们的文档::ref:`lv_button`(按钮相关文档)和 :ref:`lv_label`(标签相关文档)。
进一步了解所有部件发出的 Base-Widget Events。
进一步了解 Events(事件)。
Keys(按键)
消息框部件不处理任何 按键。
进一步了解 :ref:输入设备按键 :ref:`indev_keys`相关内容。