小组作业急需一vb强人帮忙修改一个简单程序,该如何处理

小组作业急需一vb强人帮忙修改一个简单程序


一个名为txtEdit的富文本框。  
在句中会车换行,像这样:  
Private   Function   strLeft(str   As   String,   nLen   As   Long)   As   String  
        If   nLen   <=   0   Then  
                strLeft   =   " "  
        Else  
                strLeft   =   Left(str,   nLen)  
        End   If  
End   Function  
Private   Sub   txtEdit1_KeyPress(KeyAscii   As   Integer)  
        If   KeyAscii   =   13   Then  
                Dim   lSelPos   As   Long  
                lSelPos   =   txtEdit.SelStart  
                txtEdit.Text   =   strLeft(txtEdit.Text,   txtEdit.SelStart)   &   vbCrLf   &   "      
  "   &   LTrim(Mid(txtEdit.Text,   txtEdit.SelStart   +   1))  
                txtEdit.SetFocus  
                txtEdit.SelStart   =   lSelPos  
                KeyAscii   =   0  
        End   If  
End   Sub  
在句末按回车键时则跳到下一行,并在开头空两格,像这样的效果:  
Private   Sub   txtEdit_KeyPress(KeyAscii   As   Integer)  
      If   KeyAscii   =   vbKeyReturn   Then  
            KeyAscii   =   0  
            txtEdit.Text   =   txtEdit.Text   &   vbCrLf   &   "         "  
            txtEdit.SelStart   =   Len(txtEdit.Text)  
      End   If  
End   Sub  
 
现在如何把上述两个条件整合起来,我发现这两段程序不能并存。
 
另外,在一句话当中光标所在位置插入字怎么办?比如一按按钮cmd1,就在光标处插入“cmd1”字符串。以及选中任一段文字,可以直接打字上去替换这段文字。
其实也就是把windows记事本的基本编辑操作在富文本框上实现。  

上述问题请一一解答。

------解决方案--------------------
1. strLeft函数完全多余, txtEdit.SelStart是不会小于0的

2. 另外,在一句话当中光标所在位置插入字怎么办?比如一按按钮cmd1,就在光标处插入“cmd1”字符串。以及选中任一段文字,可以直接打字上去替换这段文字。
Private Sub Command1_Click()
txtEdit.SelText = "cmd1 "
txtEdit.SetFocus
End Sub