Struct RichTextBox

Source
pub struct RichTextBox {
    pub handle: ControlHandle,
}
Expand description

An edit control is a rectangular control window to permit the user to enter and edit text by typing on the keyboard This control allow multi line input. For a single line of text, use TextInput.

A rich text box is almost a superset of the normal textbox. Unlike text box, rich text box has more features and can support Component Object Model (COM) objects.

The rich text box control supports the following rich text features:

  • Colored text
  • Multiple fonts
  • Styled text such as bold, underscore, strikeout, etc
  • Bullet point list
  • Paragraph with custom indent/offset
  • Custom line spacing

See: https://docs.microsoft.com/en-us/windows/win32/controls/about-rich-edit-controls#rich-edit-version-41

Note: Use \r\n to input a new line not just \n.

Builder parameters:

  • parent: Required. The text box parent container.
  • text: The text box text.
  • size: The text box size.
  • position: The text box position.
  • flags: A combination of the TextBoxFlags values.
  • ex_flags: A combination of win32 window extended flags. Unlike flags, ex_flags must be used straight from winapi
  • font: The font used for the text box text
  • limit: The maximum number of character that can be inserted in the control
  • readonly: If the textbox should allow user input or not
  • focus: The control receive focus after being created

Control events:

  • OnMouseMove: Generic mouse mouse event
  • OnMouseWheel: Generic mouse wheel event
  • MousePress(_): Generic mouse press events on the button
  • OnKeyPress: Generic key press event
  • OnKeyRelease: Generic key release event
  • OnChar: Generic key event. Returns a char instead of a virtual key code

Fields§

§handle: ControlHandle

Implementations§

Source§

impl RichTextBox

Source

pub fn builder<'a>() -> RichTextBoxBuilder<'a>

Source

pub fn set_background_color(&self, color: [u8; 3])

Sets the background color for a rich edit control. You cannot get the background color of a rich text box

Source

pub fn set_char_format(&self, fmt: &CharFormat)

Sets the character format of the currently selected text

Source

pub fn char_format(&self) -> CharFormat

Returns the character format of the current selected text

Source

pub fn set_para_format(&self, fmt: &ParaFormat)

Sets the paragraph formatting for the current selection in a rich edit control

Source

pub fn para_format(&self) -> ParaFormat

Returns the paragraph formatting for the current selection in a rich edit control If more than one paragraph is selected, receive the attributes of the first paragraph

Source

pub fn set_font(&self, font: Option<&Font>)

Set the font of the control It is not possible to get the base font handle of a rich label. Use char_format instead.

Source

pub fn limit(&self) -> u32

Return the number of maximum character allowed in this text input

Source

pub fn set_limit(&self, limit: usize)

Set the number of maximum character allowed in this text input

Source

pub fn modified(&self) -> bool

Check if the content of the text input was modified after it’s creation

Source

pub fn set_modified(&self, e: bool)

Manually set modified flag of the text input

Source

pub fn undo(&self)

Undo the last action by the user in the control

Source

pub fn selection(&self) -> Range<u32>

Return the selected range of characters by the user in the text input

Source

pub fn set_selection(&self, r: Range<u32>)

Return the selected range of characters by the user in the text input

Source

pub fn len(&self) -> u32

Return the length of the user input in the control. Performs a newline conversion first since Windows treats “\r\n” as a single character

Source

pub fn linecount(&self) -> i32

Return the number of lines in the multiline edit control. If the control has no text, the return value is 1.

Source

pub fn scroll(&self, v: i32)

Scroll v lines in the multiline edit control.

Source

pub fn scroll_lastline(&self)

Get the linecount and then scroll the text to the last line

Source

pub fn readonly(&self) -> bool

Return true if the TextInput value cannot be edited. Retrurn false otherwise. A user can still copy text from a readonly TextEdit (unlike disabled)

Source

pub fn set_readonly(&self, r: bool)

Set the readonly flag of the text input A user can still copy text from a readonly TextEdit (unlike disabled)

Source

pub fn clear(&self)

Remove all text from the textbox

Source

pub fn focus(&self) -> bool

Return true if the control currently has the keyboard focus

Source

pub fn set_focus(&self)

Set the keyboard focus on the button

Source

pub fn enabled(&self) -> bool

Return true if the control user can interact with the control, return false otherwise

Source

pub fn set_enabled(&self, v: bool)

Enable or disable the control

Source

pub fn visible(&self) -> bool

Return true if the control is visible to the user. Will return true even if the control is outside of the parent client view (ex: at the position (10000, 10000))

Source

pub fn set_visible(&self, v: bool)

Show or hide the control to the user

Source

pub fn size(&self) -> (u32, u32)

Return the size of the button in the parent window

Source

pub fn set_size(&self, x: u32, y: u32)

Set the size of the button in the parent window

Source

pub fn position(&self) -> (i32, i32)

Return the position of the button in the parent window

Source

pub fn set_position(&self, x: i32, y: i32)

Set the position of the button in the parent window

Source

pub fn text(&self) -> String

Return the text displayed in the TextInput

Source

pub fn set_text<'a>(&self, v: &'a str)

Set the text displayed in the TextInput

Source

pub fn set_text_unix2dos<'a>(&self, v: &'a str)

Set the text in the current control, converting unix-style newlines in the input to “\r\n”

Source

pub fn append<'a>(&self, v: &'a str)

Append text to the current control

Source

pub fn appendln<'a>(&self, v: &'a str)

Append text to the current control followed by “\r\n”

Source

pub fn class_name(&self) -> &'static str

Winapi class name used during control creation

Source

pub fn flags(&self) -> u32

Winapi base flags used during window creation

Source

pub fn forced_flags(&self) -> u32

Winapi flags required by the control

Trait Implementations§

Source§

impl Default for RichTextBox

Source§

fn default() -> RichTextBox

Returns the “default value” for a type. Read more
Source§

impl Drop for RichTextBox

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<&RichTextBox> for ControlHandle

Source§

fn from(control: &RichTextBox) -> Self

Converts to this type from the input type.
Source§

impl From<&mut RichTextBox> for ControlHandle

Source§

fn from(control: &mut RichTextBox) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<ControlHandle> for RichTextBox

Source§

fn eq(&self, other: &ControlHandle) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<RichTextBox> for ControlHandle

Source§

fn eq(&self, other: &RichTextBox) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for RichTextBox

Source§

fn eq(&self, other: &RichTextBox) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for RichTextBox

Source§

impl StructuralPartialEq for RichTextBox

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.