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.
