## wxTextAttr

wxTextAttr represents the character and paragraph attributes, or style, for a range of text in a wxTextCtrl.

When setting up a wxTextAttr object, pass a bitlist mask to SetFlags to indicate which style elements should be changed. As a convenience, when you call a setter such as SetFont, the relevant bit will be set.

Derived from

No base class

Include files

<wx/textctrl.h>

Typedefs

`wxTextPos` is the type containing the index of a position in a text control. `wxTextCoord` contains the index of a column or a row in the control.

Note that although both of these types should probably have been unsigned, due to backwards compatibility reasons, are defined as `long` currently. Their use (instead of plain `long`) is still encouraged as it makes the code more readable.

Constants

The following values can be passed to SetAlignment to determine paragraph alignment.

    enum wxTextAttrAlignment
    {
        wxTEXT_ALIGNMENT_DEFAULT,
        wxTEXT_ALIGNMENT_LEFT,
        wxTEXT_ALIGNMENT_CENTRE,
        wxTEXT_ALIGNMENT_CENTER = wxTEXT_ALIGNMENT_CENTRE,
        wxTEXT_ALIGNMENT_RIGHT,
        wxTEXT_ALIGNMENT_JUSTIFIED
    };

These values are passed in a bitlist to SetFlags to determine what attributes will be considered when setting the attributes for a text control.

    #define wxTEXT_ATTR_TEXT_COLOUR             0x0001
    #define wxTEXT_ATTR_BACKGROUND_COLOUR       0x0002
    #define wxTEXT_ATTR_FONT_FACE               0x0004
    #define wxTEXT_ATTR_FONT_SIZE               0x0008
    #define wxTEXT_ATTR_FONT_WEIGHT             0x0010
    #define wxTEXT_ATTR_FONT_ITALIC             0x0020
    #define wxTEXT_ATTR_FONT_UNDERLINE          0x0040
    #define wxTEXT_ATTR_FONT \
      wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT \
    | wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
    #define wxTEXT_ATTR_ALIGNMENT               0x0080
    #define wxTEXT_ATTR_LEFT_INDENT             0x0100
    #define wxTEXT_ATTR_RIGHT_INDENT            0x0200
    #define wxTEXT_ATTR_TABS                    0x0400

Members

wxTextAttr::wxTextAttr
wxTextAttr::GetAlignment
wxTextAttr::GetBackgroundColour
wxTextAttr::GetFont
wxTextAttr::GetLeftIndent
wxTextAttr::GetLeftSubIndent
wxTextAttr::GetRightIndent
wxTextAttr::GetTabs
wxTextAttr::GetTextColour
wxTextAttr::HasAlignment
wxTextAttr::HasBackgroundColour
wxTextAttr::HasFont
wxTextAttr::HasLeftIndent
wxTextAttr::HasRightIndent
wxTextAttr::HasTabs
wxTextAttr::HasTextColour
wxTextAttr::GetFlags
wxTextAttr::IsDefault
wxTextAttr::Merge
wxTextAttr::SetAlignment
wxTextAttr::SetBackgroundColour
wxTextAttr::SetFlags
wxTextAttr::SetFont
wxTextAttr::SetLeftIndent
wxTextAttr::SetRightIndent
wxTextAttr::SetTabs
wxTextAttr::SetTextColour

### wxTextAttr::wxTextAttr

wxTextAttr()

wxTextAttr(const wxColour& colText, const wxColour& colBack = wxNullColour, const wxFont& font = wxNullFont, wxTextAttrAlignment alignment = wxTEXT_ALIGNMENT_DEFAULT)

The constructors initialize one or more of the text foreground colour, background colour, font, and alignment. The values not initialized in the constructor can be set later, otherwise wxTextCtrl::SetStyle will use the default values for them.

### wxTextAttr::GetAlignment

wxTextAttrAlignment GetAlignment() const

Returns the paragraph alignment.

### wxTextAttr::GetBackgroundColour

const wxColour& GetBackgroundColour() const

Return the background colour specified by this attribute.

### wxTextAttr::GetFont

const wxFont& GetFont() const

Return the text font specified by this attribute.

### wxTextAttr::GetLeftIndent

int GetLeftIndent() const

Returns the left indent in tenths of a millimetre.

### wxTextAttr::GetLeftSubIndent

int GetLeftSubIndent() const

Returns the left sub indent for all lines but the first line in a paragraph in tenths of a millimetre.

### wxTextAttr::GetRightIndent

int GetRightIndent() const

Returns the right indent in tenths of a millimetre.

### wxTextAttr::GetTabs

const wxArrayInt& GetTabs() const

Returns the array of integers representing the tab stops. Each array element specifies the tab stop in tenths of a millimetre.

### wxTextAttr::GetTextColour

const wxColour& GetTextColour() const

Return the text colour specified by this attribute.

### wxTextAttr::HasAlignment

bool HasAlignment() const

Returns `true` if this style specifies the text alignment.

### wxTextAttr::HasBackgroundColour

bool HasBackgroundColour() const

Returns `true` if this style specifies the background colour to use.

### wxTextAttr::HasFont

bool HasFont() const

Returns `true` if this style specifies the font to use.

### wxTextAttr::HasLeftIndent

bool HasLeftIndent() const

Returns `true` if this style specifies the left indent.

### wxTextAttr::HasRightIndent

bool HasRightIndent() const

Returns `true` if this style specifies the right indent.

### wxTextAttr::HasTabs

bool HasTabs() const

Returns `true` if this style specifies any tabstobs.

### wxTextAttr::HasTextColour

bool HasTextColour() const

Returns `true` if this style specifies the foreground colour to use.

### wxTextAttr::GetFlags

long GetFlags()

Returns a bitlist indicating which attributes will be set.

### wxTextAttr::IsDefault

bool IsDefault() const

Returns `true` if this style specifies any non-default attributes.

### wxTextAttr::Merge

void Merge(const wxTextAttr& overlay)

Copies all defined/valid properties from overlay to current object.

static wxTextAttr Merge(const wxTextAttr& base, const wxTextAttr& overlay)

Creates a new `wxTextAttr` which is a merge of base and overlay. Properties defined in overlay take precedence over those in base. Properties undefined/invalid in both are undefined in the result.

### wxTextAttr::SetAlignment

void SetAlignment(wxTextAttrAlignment alignment)

Sets the paragraph alignment.

### wxTextAttr::SetBackgroundColour

void SetBackgroundColour(const wxColour& colour)

Sets the background colour.

### wxTextAttr::SetFlags

void SetFlags(long flags)

Pass a bitlist indicating which attributes will be set.

### wxTextAttr::SetFont

void SetFont(const wxFont& font)

Sets the text font.

### wxTextAttr::SetLeftIndent

void SetLeftIndent(int indent, int subIndent = 0)

Sets the left indent in tenths of a millimetre. subIndent sets the indent for all lines but the first line in a paragraph relative to the first line.

### wxTextAttr::SetRightIndent

void SetRightIndent(int indent)

Sets the right indent in tenths of a millimetre.

### wxTextAttr::SetTabs

void SetTabs(const wxArrayInt& tabs)

Sets the array of integers representing the tab stops. Each array element specifies the tab stop in tenths of a millimetre.

### wxTextAttr::SetTextColour

void SetTextColour(const wxColour& colour)

Sets the text colour.