wxWidgets学习 - wxStaticText类

wxStaticText类

1
#include <wx/stattext.h>

静态文本控件,显示一行或者多行只读文本。
wxStaticText控件支持三种典型的文本对齐。

样式(Styles)

这个类支持以下样式:

  • wxALIGN_LEFT: 文本向左对齐。
  • wxALIGN_RIGHT: 文本向右对齐。
  • wxALIGN_CENTRE_HORIZONTAL: 文本水平居中。
  • wxST_NO_AUTORESIZE: 默认情况下,当调用SetLabel()时,控件将调整到适合放下文本的大小。如果给出这个样式标志,控件就不会改变它的大小(这个样式对于具有wxALIGN_RIGHT或wxALIGN_CENTRE_HORIZONTAL样式的控件特别有用,因为否则在调用SetLabel()之后它们将不再有意义了。
  • wxST_ELLIPSIZE_START: 如果标签文本宽度超过控件宽度,则用省略号替换标签的开头部分;此参数调用wxControl::Ellipsize。
  • wxST_ELLIPSIZE_MIDDLE: 如果标签文本宽度超过控件宽度,则用省略号替换标签的中间部分;此参数调用wxControl::Ellipsize。
  • wxST_ELLIPSIZE_END: 如果标签文本宽度超过控件宽度,则用省略号替换标签的末尾部分;此参数调用wxControl::Ellipsize。

公开成员函数(Public Member Functions)

wxStaticText()
默认构造函数

bool Create (wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxStaticTextNameStr)
构造函数,创建和显示文本控件。

bool Create (wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxStaticTextNameStr)
生成功能,用于两步骤构建。

bool IsEllipsized () const
如果此控件的窗口样式包含wxST_ELLIPSIZE_START,wxST_ELLIPSIZE_MIDDLE或wxST_ELLIPSIZE_END样式之一,则返回true。

void Wrap (int width)
这个函数折叠控件标签内容,以使其每条线最多宽度为像素宽(如果可能的话,这些线在字边界处断开,因此如果单词太长,则可能不是这样)。

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 两步创建模式
wxStaticText* StaticText1 = new wxStaticText();
StaticText1->Create(this, STATIC_TEXT_1, "这是一个测试", wxDefaultPosition, wxDefaultSize);

// 单步步创建模式
wxStaticText* StaticText2 = new wxStaticText(this, STATIC_TEXT_2, "test", wxDefaultPosition, wxDefaultSize);

StaticText1->SetLabel("Abc-test"); // 设置标签
wxString str = StaticText1->GetLabelText(); // 获取标签内容
StaticText1->SetForegroundColour(*wxRED); // 设置文本颜色
StaticText1->SetBackgroundColour(*wxWHITE); // 设置背景颜色
wxSize tsize = StaticText1->GetSizeFromTextSize(100, 50); // 获取文本最佳大小
StaticText2->SetLabelText(str);
StaticText2->SetSize(tsize); // 设置文本框大小
坚持原创技术分享,您的支持将鼓励我继续创作!