我的开发环境是VB6
1、怎样将保存于SQL数据库表中的Rtf格式文本取出后放入WebBrowser控件中?
2、在WebBrowser控件中显示图片时,能否显示到该控件边沿?
3、WebBrowser控件的滚动条能否去掉?

解决方案 »

  1.   

    1,WebBrowser1.Navigate "file:///C:/1.rtf"
    2,???不明白
    3,WebBrowser1.Document.body.Scroll = "NO"
      

  2.   

    1,取文件    Dim Cnn As New ADODB.Connection
        Dim Rs As New ADODB.Recordset
        Dim Rm As New ADODB.Command
        Dim mstream As New ADODB.Stream
       
        Cnn.ConnectionString = "Provider=MSDASQL.1;Password=admin;Persist Security Info=True;User ID=admin;Data Source=Test"
        Cnn.CursorLocation = adUseClient
        Cnn.Open
        Rs.Open "select * from yourtable", Cnn, adOpenKeyset, adLockOptimistic
        mstream.Type = adTypeBinary
        mstream.Open
        mstream.Write Rs.Fields("yourfield").Value
        mstream.SaveToFile "C:\1.rtf", adSaveCreateOverWrite
        Rs.Close
        Cnn.Close
      

  3.   

    我现在没找到WebBrowser控件,但以前也用过一个很不爽的显示网页的控件,不知是不是跟你的一样,它有一个URL属性来设置网页位置,但只能在设计时设置,运行后就不可更改了,而且不能用相对路径,所以我只能在设计时将它的URL设为一个根目录下的一个临时文件名,然后运行时在载入该控件之前将我要显示的网页复制到根目录下并命名为之前的那个临时文件名,等控件载入网页完成后再删除该临时文件,由于载入很快,所以程序运行时察觉不到该临时文件。如果你的控件也是这样,那么你应该从数据库中读入数据后编写成网页代码文件再载入该控件。
    对第2个问题,应该不是控件的问题,而是网页编写的问题,通过将网页边框留白设为0就可以将网页内容沿容器边沿显示了,好像记得是style里面的marginleft,margintop...等属性,再将图片的宽和高设为网页窗口的宽和高就可以了
    第3个问题,我的那个控件有个scroll属性,设为false就去掉了,呵呵
      

  4.   

    To:xiao :其实WebBrowser控件就是 Internet Contros,就是IE浏览器再仔细找找看!3.还有一个最简单的办法,把它放到一个小一点的Picture中去,这样只要设好大小关系,不仅是滚动条,边框也没了,就像把网页直接放到你的程序中似的,效果很酷!
      

  5.   

    ███ 回复gpo2002(gpo2002) 
    1、WebBrowser1.Navigate "file:///C:/1.rtf"是下载,改名.htm出错!
        又不能加 If Right(URL, 4) = ".rtf" Then Cancel = True ,5555555
    3、经不起F5,不中用?
    ███ 回复capricciososoft(随想软件)  
    1、我知道是Internet Contros,问题是怎么显示adoSR!ccRtf(Rtf格式的文本)。
    3、小一点的Picture :) 我一直是这样做的, 第2,3是想找更好的方法,第1个问题是不会 (除过保存生成htm临时文件)。
      

  6.   

    嘻嘻,Internet Contros是回复给_xiao(小小) 的,尽管它不是搂主。难道生成HTML文件不是好方法?另外你为什么要在数据库中存储Rtf格式的文本?
    这样做行不行:即你需要的报表做成HTML文件,这个HTML文件可以实现Rtf格式所能实现的所有格式,然后自己设一些“关键字”例如[姓名] [年龄],这些关键字本身也带格式,其实它的代码是:<控制格式的标签>[姓名]</控制格式的标签>...
    然后用数据库读出来的纯文本文件替换关键字"[姓名]",这样,数据库的体积小了,报表格式可以用那个HTM模板规定,也可实现报表的DIY,不知我说明白了没有,难道这样不好么?
      

  7.   

    ███ 回复capricciososoft(随想软件) 
    哈哈,我不是做报表,只是想把数据库里保存的带有各种字体大小颜色的Rtf格式内容用网页的形式合成后显示出来。
    有什么好的办法吗?
      

  8.   

    各位高手大家好:
       我是一名编程新手,现在想在vb下通过编程调用网页格式即*.htm,是否可以调用?
      

  9.   

    1,
    WebBrowser1.Navigate "file:///C:/1.rtf"是下载,改名.htm出错!
    不好意思看不懂你的意思
    如果你是把数据库文件保存为本地文件再用WebBrowser1打开
    文件名就是 file:///+本地文件名
    rtf,htm是2种文件格式,直接把后缀有rtf改成htm自然出现乱码3,
    Private Sub WebBrowser1_DownloadComplete()
        WebBrowser1.Document.body.Scroll = "NO"
    End Sub建议定义css文件实现此功能
      

  10.   

    ███ 回复gpo2002(gpo2002) 
    我只是想把数据库里保存的带有各种字体大小颜色的Rtf格式内容用网页的形式合成后显示出来。有什么办法吗?
      

  11.   

    你可以考虑用word自动化方式将RTF转换成临时的HTML文件后再显示
      

  12.   

    Word自动化你应该会用吧,创建一个Word.Application对象,然后打开一个RTF文件,然后另存为HTML。
      

  13.   

    范例,首先引用 Microsoft Word 9.0 Object Library,代码如下:Option ExplicitPrivate Sub Command1_Click()
        Dim x As New Word.Application
        Dim xDoc As Document
        
        Set xDoc = x.Documents.Open("c:\test.rtf")
        If (Not (xDoc Is Nothing)) Then
            xDoc.SaveAs "c:\xxx.html", wdFormatHTML
            xDoc.Close
            Set xDoc = Nothing
        End If
        x.Quit
        Set x = Nothing
    End Sub
      

  14.   

    感谢TechnoFantasy(www.applevb.com)  :)  我试试,
    ███  将字符串保存为qwe.txt,有什么简单方法? ███