Я сразу покажу код, что бы не запутаться.
- Код: Выделить всё
Private Sub Command1_Click()
'First, just add plain text:
rchText1.SelText = rchText1.SelText & "Guest: " & Text1 & vbCrLf
'Then change what needs to be changed to pictures:
RefreshPics
DoEvents
rchText1.SelStart = Len(rchText1.Text) 'Put the start at the end, thats where you want to add the next line
Text1 = ""
Call Text1.SetFocus
End Sub
Private Sub Form_Load()
rchText1.OLEObjects.Clear 'Clear the ole objects to prevent errors
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
rchText1.OLEObjects.Clear 'You must add this or the
'program will crash. This doesnt
'happen in Windows 2k
DoEvents
End Sub
Sub RefreshPics() 'This scans the text for :) and (l)'s to change
Dim lFoundPos As Long 'Position of first character
'of match
Dim lFindLength As Long 'Length of string to find
Dim MakeSure As Boolean 'I have this to do the procedure twice, just to "make sure"
GoTo Skip:
Start:
MakeSure = True
Skip:
lFoundPos = rchText1.Find(":)", 0, , rtfNoHighlight)
While lFoundPos > 0
rchText1.SelStart = lFoundPos
'The SelLength property is set to 0 as
'soon as you change SelStart
rchText1.SelLength = 2
rchText1.SelText = ""
rchText1.OLEObjects.Add , , App.Path & "\smile.bmp" 'Add the picture after it has deleted the string
DoEvents
'Attempt to find the next match
lFoundPos = rchText1.Find(sFindString, lFoundPos + 2, , rtfNoHighlight)
Wend
If MakeSure = False Then GoTo Start
' I guess by changing or adding a few lines, you
' can make it add more pictures with different strings.
End Sub
Так как обьяснения на англ.яз. я многого не понял.
Смысл такой если в textbox ввести ":)" то в RichTextBox покажет smile.bmp, который лежит в дериктории с программой(кстате смайл 12x12) Так вот как только я написал ":)" в RichTextBox появился растянутый смайл гдет то 60x60 (если не больше). Как вы понимаете в растянутом виде он выглядит не очень, но это только одна проблема. Через 3 сек. после появляния смайла в RichTextBox, картинка (smile.bmp) открывается "Программой просмотра изображений и факсов".
Вопрос: Как уменьшить размер смайла в RichtextBox, что бы зделать его более красивым и сделать, что бы он не открывался при вводе ":)"
Заранее спасибо!