powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RichTextBox - не могу с цветом букв разобраться
4 сообщений из 4, страница 1 из 1
RichTextBox - не могу с цветом букв разобраться
    #32237907
Vitaly Vengrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему нет свойства ForeColor (цвет букв) ?
Например чтобы поменять цвет букв по умолчанию на белый я должен писать в form_load
Код: plaintext
1.
2.
3.
4.
5.
    With rbxProt
        .SelStart =  0 
        .SelLength = Len(.Text)
        .SelColor = vbWhite
    End With

Потом где то мне нужно предпоследние 2 буквы написать зеленым цветом
Код: plaintext
1.
2.
3.
4.
5.
    With rbxProt
        .SelStart = Len(.Text) -  3 
        .SelLength =  2 
        .SelColor = vbGreen
    End With

Коряво, но думаю лучших способов нет.
Но ! Как только я после этого что то дописываю :
Код: plaintext
1.
rbxProt.Text = rbxProt.Text &  "Проверка имени пользователя и пароля.." 

цвет всего текста опять меняется на белый
Почему ?
...
Рейтинг: 0 / 0
RichTextBox - не могу с цветом букв разобраться
    #32238040
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошенько взгляни на строку:
Код: plaintext
rbxProt.Text = rbxProt.Text &  "Проверка имени пользователя и пароля.." 

и подумай, что происходит - ты свойству Text присваиваешь новое значение, и то, что оно частично похоже на прежнее - это "не в кассу": любое форматирование сбрасывается при изменение свойства Text.
Даже если ты напишешь так:
Код: plaintext
rbxProt.Text = rbxProt.Text

форматирование сбросится.

надо использовать свойство .SelText:

Код: plaintext
1.
2.
3.
4.
With rbxProt
  .SelStart = Len(.Text)
  .SelLength =  0 
  .SelText =  "Проверка имени пользователя и пароля.." 
End With
...
Рейтинг: 0 / 0
RichTextBox - не могу с цветом букв разобраться
    #32239229
Vitaly Vengrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, вроде получается.
Только теперь другая беда :
Написал для этого функцию :
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Text_Placed(text As String)
    With rbxProt
        .SelStart = Len(.text) +  1 
        .SelLength =  0 
        .SelText = text
    End With
End Sub
При старте изменяю цвет букв на белый (см. перв. топик)
Дальше примерно такая цепочка команд :
Код: plaintext
1.
2.
3.
4.
Text_Placed  "Соединение..." 
Text_Placed Space( 40 ) &  "[OK]"  & vbCrLf
rbxProt.SelStart = Len(rbxProt.text) -  3 
rbxProt.SelLength =  2 
rbxProt.SelColor = vbGreen
Все нормально, буквы белые - "ОК" зеленый.
Но, все что после этого добавляю становится черным :
Код: plaintext
Text_Placed  "Проверка имени пользователя и пароля.." 

Где глючит?
...
Рейтинг: 0 / 0
RichTextBox - не могу с цветом букв разобраться
    #32239267
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где глючит?

нигде. Белым ты сделал только то, что сделал, все новое будет черным (по-моему у RichTextBox нет свойства, определяющего цвет шрифта по умолчанию :((
Решение тривиально:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Text_Placed(text As String)
  Dim s As Long
    With rbxProt
        s = Len(.text) +  1 
        .SelStart = s
        .SelLength =  0 
        .SelText = text
        .SelStart = s
        .SelLength = Len(text)
        .SelColor = vbWhite
    End With
End Sub
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RichTextBox - не могу с цветом букв разобраться
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]