le thi ha
Trả lời 15 năm trước
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
Chúc bạn thành cống