Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [VB]Разукрашивание текста в RichTextBox (https://forum.antichat.xyz/showthread.php?t=118233)

xVampirx 28.04.2009 20:22

[VB]Разукрашивание текста в RichTextBox
 
RTB дает право пользователю изменять только цвет всего текста,вот моя функция которая исправляет данное недоразумение:
Пишем публичную переменную:
Код:

Public msg As String
Добавляем функцию:
Код:

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

Вызываем функцию:
Код:

Call addMSG("^3Hello ^5world ^6 " + Now)
P.S.
Изначально функция использовалась для системы логов ,но думаю исправить под себя проблем не составит.
P.S.2
Компилер vs2008.
P.S.3
При использование в опен сурс проэктах наличие копирайтов в функции обязательно.


Время: 13:20