В чём я не прав?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

В чём я не прав?

Сообщение cg_ck » 27.04.2004 (Вт) 22:40

Пишу чат.
Код: Выделить всё
'В модуле
Public MAIN_OUTPUT_OBJ_FONT_COLOR As Integer
Public MAIN_OUTPUT_OBJ_FONT_SIZE As Byte
Public MAIN_OUTPUT_OBJ_BOLD As Boolean
Public MAIN_OUTPUT_MES_FONT_COLOR As Integer
Public MAIN_OUTPUT_MES_FONT_SIZE As Byte
Public MAIN_OUTPUT_MES_BOLD As Boolean
Public MAIN_OUTPUT_PREFIX As String
Public MAIN_OUTPUT_PREFIX_COLOR As Integer
Public MAIN_OUTPUT_PREFIX_BOLD As Boolean

Public Sub Sub_Set_Default_Settings()
MAIN_OUTPUT_OBJ_FONT_COLOR = vbRed
MAIN_OUTPUT_OBJ_FONT_SIZE = 12
MAIN_OUTPUT_OBJ_BOLD = True
MAIN_OUTPUT_MES_FONT_COLOR = vbBlack
MAIN_OUTPUT_MES_FONT_SIZE = 10
MAIN_OUTPUT_MES_BOLD = True
MAIN_OUTPUT_PREFIX = " : "
MAIN_OUTPUT_PREFIX_COLOR = vbRed
MAIN_OUTPUT_PREFIX_BOLD = True
End Sub

Public Sub Sub_Data_Arrival()     
On Error Resume Next
    Dim DATA_ARRIVAL_ARRAY() As String
    Dim DATA_SORT_ARRAY() As String
   
    DATA_ARRIVAL_ARRAY = Split(DATA_ARRIVAL, vbCrLf)
    For i = 0 To UBound(DATA_ARRIVAL_ARRAY)
       
              DATA_SORT_ARRAY = Split(DATA_ARRIVAL_ARRAY(i), ":", 3)
                With Main_Form.Main_Output
                     
                     .Text = .Text + DATA_SORT_ARRAY(1)
                    .SelStart = Len(.Text) - Len(DATA_SORT_ARRAY(1))
                    .SelLength = Len(DATA_SORT_ARRAY(1))
                    .SelBold = MAIN_OUTPUT_OBJ_BOLD
                    .SelFontSize = MAIN_OUTPUT_OBJ_FONT_SIZE
                    .SelColor = MAIN_OUTPUT_OBJ_FONT_COLOR
                   
                    .Text = .Text + MAIN_OUTPUT_PREFIX
                    .SelStart = Len(.Text) - Len(MAIN_OUTPUT_PREFIX)
                    .SelLength = Len(MAIN_OUTPUT_PREFIX)
                    .SelBold = MAIN_OUTPUT_PREFIX_BOLD
                   
                    .Text = .Text + DATA_SORT_ARRAY(2)
                    .SelStart = Len(.Text) - Len(DATA_SORT_ARRAY(2))
                    .SelLength = Len(DATA_SORT_ARRAY(2))
                    .SelBold = MAIN_OUTPUT_MES_BOLD
                    .SelFontSize = MAIN_OUTPUT_MES_FONT_SIZE
                    .SelColor = MAIN_OUTPUT_MES_FONT_COLOR
                    .Text = .Text + vbCrLf
                End With
           Next i
End Sub

'В форме
Private Sub Form_Initialize()
Sub_Set_Default_Settings
End Sub

Private Sub Sock_DataArrival(ByVal bytesTotal As Long)
    Sock.GetData DATA_ARRIVAL
    Sub_Data_Arrival
End Sub


Ну вот примерно такого рода. Почему у меня весь текст одинакого крассный, одинакого 12-ого размера ?
И ещё, выдаёт ошибку, когд я в переменный цвет пытаюсь указать в 16-иричном.

Просто заколебался уже... Прастите...
Заранее благодарен.
Ходит по лесу хомяк, хищный маленький дурак...

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 27.04.2004 (Вт) 23:34

Попробуй добавлять текст в конец RichTextBox'а так:
Код: Выделить всё
.SelStart = Len(.Text)
.SelBold =  <требуемая жирность>
.SelFontSize = <нужный размер>
.SelColor = <нужный цвет>
.SelText =  <нужный текст>

А цвет в шестнадцатеричном виде записывается так:
&HFFFFFF, где FFFFFF - собственно цвет. Только если первый или второй байт равен 00, то VB все это дело сократит до &HFFFF и получится не совсем то. Можно попробовать так: CLng("&HFFFFFF").

cg_ck
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 11.06.2003 (Ср) 12:02
Откуда: Riga(Latvia)

Сообщение cg_ck » 28.04.2004 (Ср) 14:05

Попробовал, получилось. Огомное спасибо. Топик можно закрывать.
Ходит по лесу хомяк, хищный маленький дурак...


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

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

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

    TopList