• Thứ Ba, 19/06/2007 09:40 (GMT+7)

    Lập trình biểu đồ trong VB6

    Câu hỏi :
    Dùng VB 6.0 để vẽ biểu đồ và hiển thị trên form, khi dùng lệnh PrintForm thì chỉ in được tối đa là phân nửa trang giấy A4. Xin hỏi cách để in form hết chiều dài trang A4.
     

    Trả lời :

    Lệnh PrintForm chỉ thực hiện việc copy từng pixel của Form màn hình ra giấy. Do độ phân giải của màn hình thường thấp hơn nhiều so với độ phân giải của máy in nên mặc dù Form màn hình có kích thước lớn nhưng khi copy ra giấy (hệ số mặc định là 1:1), Form chỉ chiếm 1 vùng khá nhỏ trên giấy. Để việc in ấn được chuyên nghiệp hơn, kết quả in mịn hơn và đúng với kích thước mong muốn hơn, bạn nên vẽ biểu đồ trực tiếp lên đối tượng Printer (nhờ các tác vụ như Print, PSet, Line, Circle, PaintPicture y như bạn đã làm trên Form ứng dụng). Sau đây là đoạn code VB in ra hình chữ nhật có kích thước 190x280mm trên trang giấy A4 theo chiều dọc (Portrait):

     //thiết lập chiều in đứng
     Printer.Orientation = vbPRORPortrait
     //thiết lập đơn vị đo bằng milimeter
     Printer.ScaleMode = vbMillimeters
     //thiết lập màu vẽ đường viền là đen
     Printer.ForeColor = RGB(0, 0, 0)
     //thiết lập độ rộng nét vẽ là 5 pixel
     Printer.DrawWidth = 5
     //không tô nền các phần tử có điện tích
     Printer.FillStyle = vbFSTransparent
     //vẽ hình chữ nhật rỗng kích thước 190*280mm
     Printer.Line (0, 0)-(190, 280), , B
     //kết thúc in trên trang hiện tại & chuyển sang trang kế tiếp
     Printer.NewPage

    Chuyên mục: Lập trình