[VB]Разукрашивание текста в RichTextBox

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by xVampirx, 28 Apr 2009.

  1. xVampirx

    xVampirx New Member

    Joined:
    23 Apr 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    RTB дает право пользователю изменять только цвет всего текста,вот моя функция которая исправляет данное недоразумение:
    Пишем публичную переменную:
    Code:
     Public msg As String
    Добавляем функцию:
    Code:
    Function addMSG(ByVal text As String)
            '////////////////////////////////////////
            '//////Colored RichTextBox by Vampir/////
            '//////     Icq:374-398-033         /////
            '////////////////////////////////////////
    
    
            '//////////////Шрифт/////////////////////
            Const font = "Tahoma"
    
            msg = msg + text
            If msg <> "" Then
                msg = msg + vbCrLf + "  "
            End If
    
            '/////////////Цвета/////////////////////
            '^1  - Черный Default
            '^2  - Малиновый
            '^3  - Зеленый
            '^4  - Оливковый
            '^5  - Темно синий
            '^6  - Сиреневый
            '^7  - Бирюзовый
            '^8  - Серый
            '^9  - Серебристый
            '^10 - Красный
            '^11 - Трявяной
            '^12 - Желтый
            '^13 - Синий 
            '^14 - Розовый
            '^15 - Голубой
            '^16 - Белый
            '//////////////////////////////////////
            msg = Replace(msg, "^1", "\cf1")   '1
            msg = Replace(msg, "^2", "\cf2")   '2
            msg = Replace(msg, "^3", "\cf3")   '3
            msg = Replace(msg, "^4", "\cf4")   '4
            msg = Replace(msg, "^5", "\cf5")   '5
            msg = Replace(msg, "^6", "\cf6")   '6
            msg = Replace(msg, "^7", "\cf7")   '7
            msg = Replace(msg, "^8", "\cf8")   '8
            msg = Replace(msg, "^9", "\cf9")   '9
            msg = Replace(msg, "^10", "\cf10") '10
            msg = Replace(msg, "^11", "\cf11") '11
            msg = Replace(msg, "^12", "\cf12") '12
            msg = Replace(msg, "^13", "\cf13") '13
            msg = Replace(msg, "^14", "\cf14") '14
            msg = Replace(msg, "^15", "\cf15") '15
            msg = Replace(msg, "^16", "\cf16") '16
    
            '////////////Большие буквы/////////////
    
            msg = Replace(msg, "А", "\'c0")   '1
            msg = Replace(msg, "Б", "\'c1")   '2
            msg = Replace(msg, "В", "\'c2")   '3
            msg = Replace(msg, "Г", "\'c3")   '4
            msg = Replace(msg, "Д", "\'c4")   '5
            msg = Replace(msg, "Е", "\'c5")   '6
            msg = Replace(msg, "Ё", "\'a8")   '7
            msg = Replace(msg, "Ж", "\'c6")   '8
            msg = Replace(msg, "З", "\'c7")   '9
            msg = Replace(msg, "И", "\'c8")   '10
            msg = Replace(msg, "Й", "\'c9")   '11
            msg = Replace(msg, "К", "\'ca")   '12
            msg = Replace(msg, "Л", "\'cb")   '13
            msg = Replace(msg, "М", "\'cc")   '14
            msg = Replace(msg, "Н", "\'cd")   '15
            msg = Replace(msg, "О", "\'ce")   '16
            msg = Replace(msg, "П", "\'cf")   '17
            msg = Replace(msg, "Р", "\'d0")   '18
            msg = Replace(msg, "С", "\'d1")   '19
            msg = Replace(msg, "Т", "\'d2")   '20
            msg = Replace(msg, "У", "\'d3")   '21
            msg = Replace(msg, "Ф", "\'d4")   '22
            msg = Replace(msg, "Х", "\'d5")   '23
            msg = Replace(msg, "Ц", "\'d6")   '24
            msg = Replace(msg, "Ч", "\'d7")   '25
            msg = Replace(msg, "Ш", "\'d8")   '26
            msg = Replace(msg, "Щ", "\'d9")   '27
            msg = Replace(msg, "Ъ", "\'da")   '28
            msg = Replace(msg, "Ы", "\'db")   '29
            msg = Replace(msg, "Ь", "\'dc")   '30
            msg = Replace(msg, "Э", "\'dd")   '31
            msg = Replace(msg, "Ю", "\'de")   '32
            msg = Replace(msg, "Я", "\'df")   '33
    
    
    
    
    
            '/////Маленькие буквы//////////////////
    
    
    
            msg = Replace(msg, "а", "\'e0")   '1
            msg = Replace(msg, "б", "\'e1")   '2
            msg = Replace(msg, "в", "\'e2")   '3
            msg = Replace(msg, "г", "\'e3")   '4
            msg = Replace(msg, "д", "\'e4")   '5
            msg = Replace(msg, "е", "\'e5")   '6
            msg = Replace(msg, "ё", "\'b8")   '7
            msg = Replace(msg, "ж", "\'e6")   '8
            msg = Replace(msg, "з", "\'e7")   '9
            msg = Replace(msg, "и", "\'e8")   '10
            msg = Replace(msg, "й", "\'e9")   '11
            msg = Replace(msg, "к", "\'ea")   '12
            msg = Replace(msg, "л", "\'eb")   '13
            msg = Replace(msg, "м", "\'ec")   '14
            msg = Replace(msg, "н", "\'ed")   '15
            msg = Replace(msg, "о", "\'ee")   '16
            msg = Replace(msg, "п", "\'ef")   '17
            msg = Replace(msg, "р", "\'f0")   '18
            msg = Replace(msg, "с", "\'f1")   '19
            msg = Replace(msg, "т", "\'f2")   '20
            msg = Replace(msg, "у", "\'f3")   '21
            msg = Replace(msg, "ф", "\'f4")   '22
            msg = Replace(msg, "х", "\'f5")   '23
            msg = Replace(msg, "ц", "\'f6")   '24
            msg = Replace(msg, "ч", "\'f7")   '25
            msg = Replace(msg, "ш", "\'f8")   '26
            msg = Replace(msg, "щ", "\'f9")   '27
            msg = Replace(msg, "ъ", "\'fa")   '28
            msg = Replace(msg, "ы", "\'fb")   '29
            msg = Replace(msg, "ь", "\'fc")   '30
            msg = Replace(msg, "э", "\'fd")   '31
            msg = Replace(msg, "ю", "\'fe")   '32
            msg = Replace(msg, "я", "\'ff")   '33
    
            '////////////////Символы///////////////
            msg = Replace(msg, vbCrLf, "\par") 'Перенос каретки
            '//////////////////////////////////////
    
    
            RichTextBox2.Rtf = "{\rtf1\ansi\ansicpg1251\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset204 " + font + ";}{\f1\fnil\fcharset0 ;}}{\colortbl ;\red0\green0\blue0;\red128\green0\blue0;\red0\green128\blue0;\red128\green128\blue0;\red0\green0\blue128;\red128\green0\blue128;\red0\green128\blue128;\red128\green128\blue128;\red192\green192\blue192;\red255\green0\blue0;\red0\green255\blue0;\red255\green255\blue0;\red0\green0\blue255;\red255\green0\blue255;\red0\green255\blue255;\red255\green255\blue255;}{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\tx1278\cf1\lang1049\b\f0\fs16\ " + msg + "\par\lang1033\b0\f1\par}"
    
            Return 1
        End Function
    
    Вызываем функцию:
    Code:
    Call addMSG("^3Hello ^5world ^6 " + Now)
    P.S.
    Изначально функция использовалась для системы логов ,но думаю исправить под себя проблем не составит.
    P.S.2
    Компилер vs2008.
    P.S.3
    При использование в опен сурс проэктах наличие копирайтов в функции обязательно.