Classe: wxTextAttr()
Cette classe représente les attributs de caractère et de paragraphe, ou de style, pour une plage de texte dans un wxTextAttr ou un wxRichTextCtrl. ( bien que cette dernière classe ne soit pas implémentée par wxLua )
Pour pouvoir être opérationnel, il faut passer le style des textCtrl à: wxTE_RICH ou wxTE_RICH2. |
attrib = wx.wxTextAttr() -- Ou bien attrib = wx.wxTextAttr( const wxColour &colText = wx.wxColour, const wxColour &colBack = wx.wxColour, const wxFont &font = wx.wxFont, wxTextAttrAlignment alignment = wx.wxTEXT_ALIGNMENT_XXXX )
Vous trouverez ci-dessous, la liste des méthodes implémentées par wxLua 2.8.10.
GetAlignment() | Retourne les flags d'alignement. |
GetBackgroundColour() | Retourne la couleur du fond. |
GetFlags() | Retourne les flags, indiquant quels attributs sont applicables. |
GetFont() | Créer et retourne une police spécifiée par les attributs de police dans l'objet wxTextAttr. |
GetLeftIndent() | Retourne le retrait à gauche en dixièmes de millimètre. |
GetLeftSubIndent() | Retourne un sous-retrait à gauche en dixièmes de millimètre. |
GetRightIndent() | Retourne le retrait à droite en dixièmes de millimètre. |
GetTabs() | Retourne un tableau de taquets de tabulation, exprimé en dixièmes de millimètre |
GetTextColour() | Retourne la couleur du texte. |
HasAlignment() | Retourne true si l'objet attribut spécifie l'alignement. |
HasBackgroundColour() | Retourne true si l'objet attribut spécifie une couleur de fond. |
HasFlag(flag) | Retourne true si le flag est présent. |
HasFont() | Retourne true si l'objet attribut spécifie les attributs de la police. |
HasLeftIndent() | Retourne true si l'objet attribut spécifie un retrait à gauche. |
HasRightIndent() | Retourne true si l'objet attribut spécifie un retrait à droite. |
HasTabs() | Retourne true si l'objet attribut spécifie des effets de texte. |
HasTextColour( | Retourne true si l'objet attribut spécifie la du texte. |
IsDefault() | Retourne false si nous avons un ensemble d'attributs, true autrement. |
SetAlignment(alignment) | Définit l'alignement du paragraphe. (wxTEXT_ALIGNMENT_XXX) |
SetBackgroundColour(couleur) | Définit la couleur de fond. |
SetFlags(flags) | Définit les flags à utiliser. |
SetFont(font, flag) | Définit les attributs de la police donnée. (wxFont &font, flags = wxTEXT_ATTR_FONT) |
SetLeftIndent(indent, subIndent) | Définit le retrait gauche et le sous-retrait en dixièmes de millimètre. |
SetRightIndent(indent) | Définit le retrait droite. |
SetTabs(tabs) | Définit les taquets de tabulation, exprimée en dixièmes de millimètre. (wxArrayInt &tabs) |
SetTextColour(couleur) | Définit la couleur du texte. |
require("wx") -- inutile si on utilise wxluafreeze.exe -- Création de la frame. local frame = wx.wxFrame(wx.NULL, -1, "wxTextAttr") frame:Centre(wx.wxBOTH) -- Affichage au centre de l'écran. -- Création des attributs de départ pour un texte. local textAttr = wx.wxTextAttr(wx.wxColour(wx.wxBLUE), wx.wxColour(255, 255, 0), wx.wxFont(12, wx.wxFONTFAMILY_MODERN, wx.wxFONTSTYLE_NORMAL, wx.wxFONTWEIGHT_NORMAL, false, "Comic sans MS"), wx.wxTEXT_ALIGNMENT_CENTER) -- Création d'un textCtrl. local texte ="La Cigale, ayant chanté \nTout l'été,\nSe trouva" .."fort dépourvue\nQuand la bise fut venue:\nPas un seul petit" .."morceau \nDe mouche ou de vermisseau...\n etc. etc." local textCtrl = wx.wxTextCtrl(frame,-1, "", wx.wxPoint(10, 10), wx.wxSize(370, 190), wx.wxTE_MULTILINE + wx.wxTE_NO_VSCROLL + wx.wxTE_RICH2 + wx.wxTE_READONLY) textCtrl:SetBackgroundColour(wx.wxColour(251, 242, 183)) textCtrl:SetDefaultStyle(textAttr) textCtrl:AppendText(texte) -- Modification de la couleur du texte. textCtrl:SetStyle(24, 37, wx.wxTextAttr(wx.wxColour(wx.wxRED))) textCtrl:SetStyle(130,140,wx.wxTextAttr(wx.wxColour(wx.wxGREEN))) -- Modification de l'alignement pour une ligne. local newAlign = wx.wxTextAttr() newAlign:SetAlignment(wx.wxTEXT_ALIGNMENT_LEFT) textCtrl:SetStyle( 62, 86, newAlign) -- Modification de la couleur de fond pour quelques mots. local newCoulFond = wx.wxTextAttr() newCoulFond:SetBackgroundColour(wx.wxColour(254, 191, 210)) textCtrl:SetStyle(99, 123, newCoulFond) --Modification de la Font pour un mot. local font = wx.wxFont(15, wx.wxFONTFAMILY_MODERN, wx.wxFONTSTYLE_ITALIC, wx.wxFONTWEIGHT_BOLD, false, "Times New Roman") local newFont = wx.wxTextAttr() newFont:SetFont(font) textCtrl:SetStyle(38, 46, newFont) -- Démarrage de l'application. frame:Show(true) wx.wxGetApp():MainLoop()
Ce qui donne comme résultat.