PDA

View Full Version : [Q] Hỏi về RichTextBox



Nguyen Thanh Binh
18-10-2002, 12:10
Các bạn ơi xin cho hỏi, vi dụ mình có câu lệnh sau :

RichTextBox1.Text = RichTextBox1.Text & format(now(),"dd/mm/yyyy")

Kết quả cho ra là đoạn văn bản đã có và thêm phần format vừa cộng vào, nhưng con trỏ chuột trong văn bản hình như lại trở về dòng 1 cột 1 của RichTextBox. Vậy có cách nào để con trỏ đứng đúng vị trí là ở sau đoạn format vừa thêm vào không. Xin nhờ mấy bạn chỉ giúp.

lovely
18-10-2002, 13:07
Tiện cho em hỏi ké :
Cho thanh cuộn vào richtextbox ntn ?

patfinder
18-10-2002, 22:01
Chao
Mình không rành lắm về VB nhưng để hiển thị thanh cuộn trong RTB thì chắc có thể set thuộc tính của nó
Còn để giử vị trí con trỏ thì chắc bạn phải lấy vị trí trước khi set text rồi sau đó set lại.

White_Rose
18-10-2002, 22:39
Giả sử bạn cần thêm ngày tháng khi nhấn một button thì code như sau:

Private Sub Command1_Click()
Dim p As Long, s As String
p = RichTextBox1.SelStart
s = RichTextBox1.Text
RichTextBox1.Text = Left(s, p) & Format(Now(), "dd/mm/yyyy") & Mid(s, p + 1)
RichTextBox1.SetFocus
RichTextBox1.SelStart = p + Len(Format(Now(), "dd/mm/yyyy"))
End Sub

Để có thanh cuộn, bạn chỉnh lại giá trị thuộc tính ScrollBars của RTFbox

Nguyen Thanh Binh
19-10-2002, 15:05
Xin cám ơn Bông hồng trắng. Nhân tiện cho hỏi. Có cách nào để đặt con trỏ vào một cột và hàng xác định trong RichTextBox không ?

White_Rose
23-10-2002, 00:54
Có lẽ phải dùng tí thủ thuật.
đầu tiên chọn đại một vị trí ---> tìm ra hàng trước của nó nhờ GetLineFromChar. Nếu không đúng hàng thì tìm tiếp (sử dụng binary search để tìm).
tìm ra xong thì cứ + 1 cho đến khi đến hàng cần chuyển.
Rồi cộng thêm (số cột -1) là xong.

Bạn xem thêm các method, property và RTF format ở đây.

http://207.150.221.94/ws-ihatelov/vbasp/vbasp.asp?id=339