<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 17 Jun 2022 at 15:52, <<a href="mailto:james@lixce.com">james@lixce.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Some text attributes can be read and changed directly from the TextEdit control using <br>
for Example:<br>
<br>
If TextEdit1.Format.Font.Bold  Then TextEdit1.Format.Font.Bold = False<br>
<br>
This applies to the selected text or the entire paragraph if no text is selected.<br>
<br>
For more complex formatting you will have to analyze the RichText. You can pull the RichText for the paragraph by converting the TextEdit.Pos to a paragraph number then setting the position to the begining of the paragraph and selecting the text to the beginning of the next paragraph. <br>
<br>
inPara = TextEdit1.ToParagraph(TextEdit1.Pos)<br>
Textedit1.Select(TextEdit1.ToPos(inPara, 0), (TextEdit1.ToPos(inPara + 1, 0) - 1)<br>
stRicTxt = TextEdit1.Selection.RichText<br>
<br>
You will always get that funky header that you have to strip off and the dig through the html -ish RTF.<br>
<br>
Advanced formating is NOT trivial my TextEdit based Word Processor is about 7000 lines and still growing for edge cases.  I gave up analyzing paragraphs and other elements directly and build an array of every Element (paragraphs, list items, table cells etc.) and literally update it on every keystroke; which, thanks to the amazing speed of Gambas, <br>
actually works.<br>
<br>
Final Note: The TextEdit control stores formatting in a valid, but very ugly, html syntax but it is really good at accepting much more human readable html and displaying it.  This allows you to use things like:<br>
TextEdit1.Selection.RichText  = "<h1>This is a Header</h1>"<br>
<br>
Which will be converted internally to:<br>
<h1 style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:xx-large; font-weight:600;">This is a header</span></h1><br>
<br>
Regards, -j<br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">Thank you James , that's some cool info :)</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">BruceS</div><div style="font-size:small" class="gmail_default"></div></div></div>