• Thứ Ba, 21/10/2008 14:11 (GMT+7)

    Lập trình VB6 cho phép canh lề trái, phải, giữa và 2 bênh như MS Word

    Lượt xem 1756
    Đánh giá

    Câu hỏi :
    Công cụ RichtextBox trong VB6 chỉ cho phép canh lề văn bản left, right, center, làm cách nào để canh lề kiểu Justify như trong trình Microsoft Word? 
     

    Trả lời :
     Đúng là đối tượng RichTextBox của VB 6.0 (hay VB .Net) chỉ cho phép canh lề hiển thị văn bản theo 3 chế độ: Left, Right, Center, nó không cung cấp chế độ canh lề "Justify" để cân chỉnh văn bản hiển thị đồng thời cả 2 lề trái và phải. Do đó, nếu có nhu cầu hiển thị văn bản theo chế độ "Justify" trên 1 RichTextBox, bạn có thể dùng 1 trong 2 cách giải quyết sau:

     1. Soạn thảo văn bản và canh lề Justify văn bản trong 1 ứng dụng nào đó (thí dụ Word), dùng chức năng "Save As" để lưu kết quả lên file theo định dạng *.rtf. Khi lập trình ứng dụng chứa RichTextBox của bạn, mỗi khi muốn hiển thị lại văn bản đã Justify, bạn dùng lệnh LoadFile theo cú pháp sau:

     MyRTB.LoadFile("c:\mydoc.rtf")
     Tác vụ LoadFile của đối tượng RichTextBox sẽ đọc file vào, xử lý văn bản và hiển thị nó theo đúng chế độ Justify mà file nguồn qui định.

     2. Bạn tự thực hiện chức năng "Justify" văn bản trước khi "add" nó vào RichTextBox để nó hiển thị kết quả dùm bạn. Để "Justify" văn bản, bạn sẽ tính toán và thêm vào 1 hay nhiều ký tự trống giữa các từ sao cho ký tự cuối cùng của từ bên phải nhất của văn bản được hiển thị đúng ở lề phải của RichTextBox. Đây là 1 thuật toán khá phức tạp, đòi hỏi nhiều kiến thức và nỗ lực lập trình. Bạn có thể cài đặt các CD tài liệu MSDN, copy Project C++ chứa mã nguồn của trình Wordpad.exe vào đĩa cứng và xem mã nguồn để biết chi tiết về thuật toán "Justify" văn bản trước khi hiển thị lên cửa sổ có kích thước xác định.
    Ý kiến phản hồi và bình luận      Gởi ý kiến của bạn ?
    Chuyên mục: Lập trình