我用了SELTEXT是RICHTEXTBOX中的字体发生了改变,可是随后输入的字符也随着改变,如何,不随着改变呢?我只要其中的字符发生改变,随后输入的字符的字体、颜色不变,请高手解答,非常感谢!

解决方案 »

  1.   

    Private Sub Command1_Click()
        With RichTextBox1
            .SelStart = Len(.Text)
            .SelColor = vbRed
        End With
        
    End SubPrivate Sub Command2_Click()
        With RichTextBox1
            .SelStart = Len(.Text)
            .SelColor = vbBlue
        End With
    End SubPrivate Sub Form_Load()
        RichTextBox1.Text = "asdasd"
    End Sub
      

  2.   

    估计是你的With RichTextBox1
            .SelStart = Len(.Text)
            。
    等没有设置对
    要不你就在设置前先保存各种状态,设置后在恢复过来
      

  3.   

    代码如下:
    CommonDialog1.CancelError = True '出错处理
    On Error GoTo LL
     CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth
     'CommonDialog1.ShowFont
     CommonDialog1.ShowFont
     'CommonDialog1.ShowFont
    RichTextBox1.SelFontName = CommonDialog1.FontName '以下是一一对应的关系
    RichTextBox1.SelFontSize = CommonDialog1.FontSize
    RichTextBox1.SelColor = CommonDialog1.Color
    RichTextBox1.SelBold = CommonDialog1.FontBold
    RichTextBox1.SelItalic = CommonDialog1.FontItalic
    RichTextBox1.SelUnderline = CommonDialog1.FontUnderline
    RichTextBox1.SelStrikeThru = CommonDialog1.FontStrikethru
      

  4.   

    这个问题我前几天遇到过了,自己解决的.假定它的预先字体为arial,先得到RICH里的字符数;
    long1=len(rich1.text)'取得复制前的长度
    rich1.seltext=text1.text'复制内容
    rich1.selstart=long1'设置起点
    rich1.sellong=len(text1.text)'设置长度
    rich1.selfontname="宋体"
    rich1.seltext=""
    rich1.selstart=len(rich1.text)-1'找到新的起点
    rich1.sellong=1
    rich1.selfontname="arial"'再改回arial字体
    这样就可以了.
      

  5.   

    上面的代码有点问题,是sellenghth,不是sellong.但思路没有错.