Rich Text Box

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Rich Text Box

Сообщение v-adix » 22.02.2004 (Вс) 17:13

можно ли изменить цвет текста в Rich Text Box ?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 22.02.2004 (Вс) 17:54

Используй свойство SelColor. Если хочешь изменить цвет всего текста, выделяй его и устанавливай цвет через то же свойство:
Код: Выделить всё
'выделить весь редактируемый текст
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = Len(RichTextBox1.Text)
RichTextBox1.SelColor = vbRed 'установить красный цвет
Моду создают модоки, а распространяют модозвоны.

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 29.02.2004 (Вс) 22:17

тогда надо ставить этот код в событие Change чтобы когда я печатал цвет всегда был красный например. я есть что-либо типа ForeColor ?

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 01.03.2004 (Пн) 3:22

Мне кажется надо всего раз это сделать .... при загрузке формы, поскольку "маркирование цветом" переносится как и в ворде ...
если ты конесно туда ничего вставлять не будешь а будешь тока набирать ...

а если нужно всегда и всё - тогда тот вариант в Change поставь
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 01.03.2004 (Пн) 18:49

В Change надо ставить другой код:
Код: Выделить всё
Private Sub RichTextBox1_Change()
On Error Resume Next
    RichTextBox1.SelStart=RichTextBox1.SelStart-1
    RichTextBox1.SelLength=1
    RichTextBox1.SelColor = vbRed
    RichTextBox1.SelLength=0
    RichTextBox1.SelStart=RichTextBox1.SelStart+1
End Sub

или инициализировать при загрузке с помощью старого куска кода и поставить такое в KeyDown:
Код: Выделить всё
Private Sub RichTextBox1_KeyDown(KeyCode as Integer, _
Shift as Integer)
On Error Resume Next
Dim kCode As Integer
    If Shift = 2 And KeyCode <> 90 And KeyCode <> 89 Then
    'событие RTB: Ctrl+C, Ctrl+V...
        kCode = KeyCode
        If Shift = 2 Then 'Ctrl
            If kCode = 67 Then 'копирование
                KeyCode = 0
                CopyText
            ElseIf kCode = 45 Then 'копирование
                KeyCode = 0
                CopyText
            ElseIf kCode = 88 Then 'вырезка
                KeyCode = 0
                CutText
            ElseIf kCode = 86 Then 'вставка
                KeyCode = 0
                PasteText
            ElseIf kCode = 65 Then 'выделить все
                KeyCode = 0
                SelectAll
            End If
        ElseIf Shift = 1 Then 'Shift
            If kCode = 45 Then 'вставка
                KeyCode = 0
                PasteText
            ElseIf kCode = 46 Then 'вырезка
                KeyCode = 0
                CutText
            ElseIf kCode = 36 Then 'выделить влево
                KeyCode = kCode
            ElseIf kCode = 35 Then 'выделить вправо
                KeyCode = kCode
            End If
        End If
    End If
End Sub

Private Sub CopyText()
On Error Resume Next
    Clipboard.SetText RichTextBox1.SelText, _
    vbCFText
End Sub

Private Sub CutText()
On Error Resume Next
    Clipboard.SetText RichTextBox1.SelText, _
    vbCFText
    RichTextBox1.SelText = ""
End If

Private Sub PasteText()
On Error Resume Next
    RichTextBox1.SelText = Clipboard.GetText (vbCFText)
End Sub

Private Sub SelectAll()
On Error Resume Next
    RichTextBox1.SelStart = 0
    RichTextBox1.SelLength = Len( _
    RichTextBox1.Text)
End Sub
Моду создают модоки, а распространяют модозвоны.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 10

    TopList