在使用不同类型的 gui 时,我习惯于区分文本字段或文本输入框与文本框。也就是说,多行文字处理器样式的文本框有一种类型的对象,而单行的另一种类型的对象,通常是不可滚动的文本字段/文本输入框。wxTextCtrl 是否满足这两个目的?我知道它是文本框,但它也是文本字段/文本输入框的正确选择吗?
编辑 实际上有两种类型的文本框用于多行输入,如答案中所指出的。我真正感兴趣的是特定于单行输入的小部件与特定于多行输入的小部件。
在使用不同类型的 gui 时,我习惯于区分文本字段或文本输入框与文本框。也就是说,多行文字处理器样式的文本框有一种类型的对象,而单行的另一种类型的对象,通常是不可滚动的文本字段/文本输入框。wxTextCtrl 是否满足这两个目的?我知道它是文本框,但它也是文本字段/文本输入框的正确选择吗?
编辑 实际上有两种类型的文本框用于多行输入,如答案中所指出的。我真正感兴趣的是特定于单行输入的小部件与特定于多行输入的小部件。
wxTextCtrl 用于单行和多行输入。它非常强大,但不完全是“文字处理器风格”。更接近于 wxRichTextCtrl。
wxComboBox 使用 wxTextEntry(与单行模式下的 wxTextCtrl 一样)。尽管 wxTextEntry 本身不是作为控件提供的——它不是从 wxControl 继承的——如果你非常喜欢它,你也许可以使用它来构建一些东西。但是对于我看不到的好处来说,这似乎是很多麻烦。
wxTextCtrl
默认情况下是单行文本控件(在其他框架中称为“条目”)。如果wxTE_MULTILINE
在创建的时候指定了样式(这个样式以后不能改),它就变成了——惊喜——多行控件,也就是其他地方所谓的“区域”。