利用TextBox来接受用户的输入并存入数据库。想增加文本格式编辑的功能,比如用户可以对选定的文本进行加粗,改变字体大小颜色的功能,方便显示,请问几个问题?
1是利用Textbox能否实现对选定文本的格式进行编辑并显示呢?如果不行,用别的文本编辑控件可以实现么?
2是具体如何实现呢?
3是用户输入的不同格式的文本能原样存入Access数据库么?

解决方案 »

  1.   

    使用 RichTextBox 控件
      

  2.   


    '用RichTextBox控件。3.比较麻烦
    '将选中的内容转换成二进制格式
    dim mybyte() as Byte '创建一个二进制的数据
    mybyte = Strconv(Richtextbox1.selRTF, vbUnicode) '转换成二进制
    '如果是反转,则参数为vbFromUnicode
    dim mystr as string
    dim mybyte() as Byte
    '从数据库中调出数据,赋值mybyte,下面反转
    mystr = Strconv(mybyte,vbFromUnicode)
      

  3.   

    ”将这些选定文字加粗、字体变大、并变成红色呢“,这些代码也要啊~~~,晕
    '先添加部件microsoft richtextbox control和microsoft common dialog,在窗体上添加
    '一个richtextbox,一个commondialog,二个命令按钮
    Private Sub Command1_Click() '设置字体等
    CommonDialog1.ShowFont
    RichTextBox1.SelFontName = CommonDialog1.FontName
    RichTextBox1.SelFontSize = CommonDialog1.FontSize
    RichTextBox1.SelBold = CommonDialog1.FontBold
    RichTextBox1.SelItalic = CommonDialog1.FontItalic
    End SubPrivate Sub Command2_Click() '设置颜色
    CommonDialog1.ShowColor
    RichTextBox1.SelColor = CommonDialog1.Color
    End SubPrivate Sub Form_Load()
    Command1.Caption = "字体"
    Command2.Caption = "颜色"
    End Sub
      

  4.   

    刚测试了一下,
    CommonDialog1.ShowFont
    之前可能要加上CommonDialog1.Flags = cdlCFScreenFonts '装载屏幕字体
      

  5.   

    呵呵,非常谢谢!如果把带格式的文本存储到Access数据库的话,只能将内容转化为二进制么?要是直接用String格式存储就好了,呵呵
      

  6.   

    学无止境你好,程序运行到这里时报错:mybyte  =  Strconv(Richtextbox1.selRTF, vbUnicode)
    “类型不匹配”  ,我已经将mybyte定义为Byte类型了,请问为啥类型不匹配呢?
      

  7.   

    请问到底如何将Richtextbox中带格式的文本存入Access 数据库呢?
      

  8.   

    Quote=引用 7 楼 sunyangguan 的回复:]
    学无止境你好,程序运行到这里时报错:mybyte = Strconv(Richtextbox1.selRTF, vbUnicode)
    “类型不匹配” ,我已经将mybyte定义为Byte类型了,请问为啥类型不匹配呢?
    [/Quote]
    没有出问题啊~~~,在窗体上添加一个richtextbox2进行测试~~~Private Sub Command3_Click()
    Dim mybyte() As Byte '创建一个二进制的数据
    mybyte = StrConv(RichTextBox1.SelRTF, vbUnicode) '转换成二进制
    '如果是反转,则参数为vbFromUnicode
    Dim mystr As String'从数据库中调出数据,赋值mybyte,下面反转
    mystr = StrConv(mybyte, vbFromUnicode)
    '测试反转回的数据
    RichTextBox2.SelRTF = mystrEnd Sub
    [