在VB6中RichTextBox如何实现像QQ插入"/aini"等表情

yefeng835 2008-04-16 09:49:16
小弟是个新手,研究了一个星期关于网络方面的知识,在写一个局域网聊天软件,用的是RichTextBOx控件,目前只实现了不同颜色的显示问题,但无法实现像QQ一样,输入一种转义符,如“/aini”等关键字时自动转换成相应的GIF图片,请高手和各位老师们不吝指导一下小弟,谢谢!
...全文
402 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
可西哥 2008-04-28
  • 打赏
  • 举报
回复
晕,老是忘记了回头再看贴子,我那个5楼发的难道代码忘了压缩进去?
yefeng835 2008-04-19
  • 打赏
  • 举报
回复
非常感谢SupermanKing老师的指点,这个贴子再挂两天,如果没有更好的解决方法,下星期一就结贴!
现在还是人类 2008-04-18
  • 打赏
  • 举报
回复
最简单的方法就是加一行语句
WebBrowser1.Document.body.scrollTop = WebBrowser1.Document.body.scrollHeight

完整代码:
Dim A As Boolean
Private Sub Form_Load()
'初始化为空白网页
A = False
WebBrowser1.Navigate "about:blank"
End Sub

Private 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属性就可以了。
另外,说说编辑用的WebBrowser1

WebBrowser2.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


现在还是人类 2008-04-18
  • 打赏
  • 举报
回复
如果使用我的方法,可以考虑在THML脚本中用Scrlpt代码实现制动滚动到最下。
FIRENDLESS 2008-04-18
  • 打赏
  • 举报
回复
找个效果好点的cute转义脚本,然后嵌入程序...到蓝色search一下
yefeng835 2008-04-18
  • 打赏
  • 举报
回复
还是没有好的办法。。。我只实现了用转义符来转换成图片。但每次只能显示一个GIF,难题就出在,如何将所有的/01或/02这些特殊符号一次性转换成相应的图片(图片存在本目录下Face文件夹中)
迈克揉索芙特 2008-04-17
  • 打赏
  • 举报
回复
老大的方法果然是最简单的

另外,楼主如果要插入动态的gif图片请参考:
http://blog.csdn.net/modest/archive/2006/04/12/660890.aspx
TechnoFantasy 2008-04-17
  • 打赏
  • 举报
回复
插入图片最简单的办法:
http://www.devx.com/vb2themax/Tip/18593
转义符的实现智能在用户输入的时候判断输入的字符串是不是能匹配了。
yefeng835 2008-04-17
  • 打赏
  • 举报
回复
9楼的话。。。
东方之珠 2008-04-17
  • 打赏
  • 举报
回复
高,实在是高!
一个比一个厉害!
yefeng835 2008-04-17
  • 打赏
  • 举报
回复
用WebBrowser如何控件滚动条始终都保持在最底端?
yefeng835 2008-04-17
  • 打赏
  • 举报
回复
5楼的是个程序,我还以为是个源码呢。。
yefeng835 2008-04-17
  • 打赏
  • 举报
回复
我先试试2楼的方法。。。
可西哥 2008-04-17
  • 打赏
  • 举报
回复
替换嘛

QQ聊天窗口模拟:
http://www.hexi5.com/bbs/dispbbs.asp?boardID=6&ID=489&page=1
现在还是人类 2008-04-17
  • 打赏
  • 举报
回复
简单点的方法,建议你使用
Microsoft Internet Controls 控件
这个控件就像一个IE对象,只要你控制里面的HTML文本就可以控制了。
以下是一个范例程序:

Dim A As Boolean
Private Sub Form_Load()
'初始化为空白网页
A = False
WebBrowser1.Navigate "about:blank"
End Sub

Private 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

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

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧