小弟是个新手,研究了一个星期关于网络方面的知识,在写一个局域网聊天软件,用的是RichTextBOx控件,目前只实现了不同颜色的显示问题,但无法实现像QQ一样,输入一种转义符,如“/aini”等关键字时自动转换成相应的GIF图片,请高手和各位老师们不吝指导一下小弟,谢谢!

解决方案 »

  1.   

    补充一下,我听人说用DHTMLEDIT可以实现,但是这种控件在VB中的方法和属性方法有哪些呢?怎么控制内容与边界的距离?
    还有一点很重要,如何始终都将滚动条至于最下方?
      

  2.   

    简单点的方法,建议你使用
    Microsoft Internet Controls 控件
    这个控件就像一个IE对象,只要你控制里面的HTML文本就可以控制了。
    以下是一个范例程序:Dim A As Boolean
    Private Sub Form_Load()
       '初始化为空白网页
       A = False
       WebBrowser1.Navigate "about:blank"
    End SubPrivate Sub WebBrowser1_TitleChange(ByVal Text As String)
       '当初始化完成后会引发标题变化事件
       If A = False Then
          '第一次使用时对文档里的内容进行设置
          A = True
          WebBrowser1.Document.body.innerHTML = "<Font color='#FF0000'>你好</font>"
       End If
    End Sub
    Private Sub Command1_Click()
       '随便更改网页里的内容
       WebBrowser1.Document.body.innerHTML = WebBrowser1.Document.body.innerHTML & "<br><img Src='http://www.csdn.net/Images/logo_csdn.gif'>"
    End Sub
      

  3.   

    插入图片最简单的办法:
    http://www.devx.com/vb2themax/Tip/18593
    转义符的实现智能在用户输入的时候判断输入的字符串是不是能匹配了。
      

  4.   

    老大的方法果然是最简单的另外,楼主如果要插入动态的gif图片请参考:
    http://blog.csdn.net/modest/archive/2006/04/12/660890.aspx
      

  5.   

    替换嘛QQ聊天窗口模拟:
    http://www.hexi5.com/bbs/dispbbs.asp?boardID=6&ID=489&page=1
      

  6.   

    用WebBrowser如何控件滚动条始终都保持在最底端?
      

  7.   

    还是没有好的办法我只实现了用转义符来转换成图片。但每次只能显示一个GIF,难题就出在,如何将所有的/01或/02这些特殊符号一次性转换成相应的图片(图片存在本目录下Face文件夹中)
      

  8.   

    找个效果好点的cute转义脚本,然后嵌入程序...到蓝色search一下
      

  9.   

    如果使用我的方法,可以考虑在THML脚本中用Scrlpt代码实现制动滚动到最下。
      

  10.   

    最简单的方法就是加一行语句
    WebBrowser1.Document.body.scrollTop = WebBrowser1.Document.body.scrollHeight完整代码:
    Dim A As Boolean
    Private Sub Form_Load()
       '初始化为空白网页
       A = False
       WebBrowser1.Navigate "about:blank"
    End SubPrivate Sub WebBrowser1_TitleChange(ByVal Text As String)
       '当初始化完成后会引发标题变化事件
       If A = False Then
          '第一次使用时对文档里的内容进行设置
          A = True
          WebBrowser1.Document.body.innerHTML = " <Font color='#FF0000'>你好 </font>"
       End If
    End Sub
    Private Sub Command1_Click()
       '随便更改网页里的内容
       WebBrowser1.Document.body.innerHTML = WebBrowser1.Document.body.innerHTML & " <br> <img Src='http://www.csdn.net/Images/logo_csdn.gif'>"
       WebBrowser1.Document.body.scrollTop = WebBrowser1.Document.body.scrollHeight
    End Sub实现了吧,我始终认为用这种方式好一点,因为扩展多,除了图片,和文字效果,还可以放Flish或其他
    的控件等,比如视频什么的,如果要限制内容也很容易,只要在编辑的WebBrowser1中识别以下
    WebBrowser1.Document.body.innerHTML属性就可以了。
    另外,说说编辑用的WebBrowser1WebBrowser2.Document.Url = "about:blank"
    WebBrowser2.Document.designMode = "On"
    WebBrowser2.Document.Write ""
    WebBrowser2.Document.Close
    WebBrowser2.Document.body.innerHTML = DocValue
    WebBrowser2.Document.body.Style.FontSize = "12px"这样设置就好比得了一个FontPage一样可以进行网页设计了
    比如:
    '设置选择的文字下划线
    WebBrowser2.Document.ExecCommand "UNDERLINE", Tru
    '段落左对齐
    WebBrowser2.Document.ExecCommand "JustifyLeft", True
    ...
    注意使用以下方式可以控制更多内容:
    Set Range = WebBrowser2.Document.Selection.CreateRange
    Range.pasteHTML "HTML文本内容"
    WebBrowser2.Document.Selection.Empty
      

  11.   

    非常感谢SupermanKing老师的指点,这个贴子再挂两天,如果没有更好的解决方法,下星期一就结贴!