Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Richedit colors

Posted on 1998-06-19
4
Medium Priority
?
251 Views
Last Modified: 2013-11-22
Hi i want to be able to insert text lines into a richeditbox from my code, the special thing: i want to put colors in it. with some kind of color codes.

eg: me.editbox.addline "@RED@this is red@BLUE@this is blue"

Can anyone help me ?

Best regards,
Arijan
0
Comment
Question by:aluiken
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 1

Expert Comment

by:wford
ID: 1463763
You could use seltext and selcolor and selstart like so,

With RichTextBox1
    .Text = "First line in standard" & Chr(10)
    'get insert position
    .SelStart = Len(.Text)
    'set the new color
    .SelColor = vbRed
    'insert the line
    .SelText = "new line in red" & Chr(10)
    'find the end of 1st line
     .SelStart = Len(.Text)
    .SelColor = vbBlack
    .seltext = "I'm back to black"
End With

This can be a little limiting, but is quick and easy,Or you could edit the RTF code itself to insert a line in red, but this is not as simple as the method above. If you would rather the RTF answer, reject the one above and i'll dig out that that code.
0
 
LVL 1

Author Comment

by:aluiken
ID: 1463764
Hi, yes i think that the rtf sollution would be much faster and stable, if you dig out the code could you also think about the other color tags for me ? that is the problem where i am stuck at. (my own color codes @RED@ or somthing line that), Because i want to write a sub that adds a line to an richedit.

Thx !
0
 
LVL 18

Accepted Solution

by:
deighton earned 400 total points
ID: 1463765
EXAMPLE CALL

Private Sub Command1_Click()
    Dim sfStr As String
   
    sfStr = "@GREEN@Argentina@RED@England@GREEN@Brazil"
   
    Call AddText(RichTextBox1, sfStr)
   
End Sub


Sub I have written - I had a lot of problems getting things to work!

Sub AddText(rtb As RichTextBox, sfStr As String)

    'Fills a text box with coloured text

    Dim c As Integer
    Dim idColor As Long
    Dim sColor As String
    Dim a(500) As Long
    Dim i As Integer
   
    idColor = vbBlack
   
    rtb.SetFocus
   
    c = 1
    Do Until c > Len(sfStr)
       
        'Get the color code
        If Mid(sfStr, c, 1) = "@" Then
           
           
            c = c + 1
            sColor = ""
           
            Do Until c > Len(sfStr) Or Mid(sfStr, c, 1) = "@"
           
                sColor = sColor + Mid(sfStr, c, 1)
                c = c + 1
           
            Loop
           
            'Add all your colors here with their codes by adding more if statements
            'You might want to use CASE statement here
             
            If sColor = "RED" Then
                idColor = vbRed
            ElseIf sColor = "BLUE" Then
                idColor = vbBlue
            ElseIf sColor = "GREEN" Then
                idColor = vbGreen
            End If
           
        Else
       
            rtb.Text = rtb.Text + Mid(sfStr, c, 1)
            i = i + 1
            a(i) = idColor

           
        End If

       
        c = c + 1
       
    Loop
   
   
    'Set the colors - This is the only way I couold find that actually worked
    For c = 1 To i
        rtb.SelStart = (c - 1)
        rtb.SelLength = 1
        rtb.SelColor = a(c)
    Next
   
End Sub



0
 
LVL 1

Author Comment

by:aluiken
ID: 1463766
Perfect THX !
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question