328
Chương 8: Đồ họa, đa phương tiện, và in ấn
15.
15.
In text d ng wrapping
ạ
In text d ng wrapping
ạ
Bạn cần phân tích một khối text lớn thành các dòng riêng biệt sao cho vừa khít
trên một trang.
Sử dụng phương thức nạp chồng
Graphics.DrawString
(phương thức này nhận
vào một hình chữ nhật biên).
Thông thường, bạn sẽ cần phá một khối text lớn thành các dòng riêng biệt để có thể in lên
trang từng dòng một. .NET Framework có thể thực hiện công việc này một cách tự động bằng
một phiên bản của phương thức
Graphics.DrawString
(nhận vào một hình chữ nhật biên). Bạn
cần chỉ định hình chữ nhật mô tả nơi bạn muốn text sẽ hiển thị. Theo đó, text sẽ được wrap
một cách tự động cho vừa khít bên trong đường biên này.
Đoạn mã dưới đây thực hiện cách tiếp cận này:
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Printing;
public class WrappedPrint : System.Windows.Forms.Form {
private System.Windows.Forms.Button cmdPrint;
// (Bỏ qua phần mã designer.)
private void cmdPrint_Click(object sender, System.EventArgs e) {
// Tạo một văn bản và gắn nó vào phương thức thụ lý sự kiện.
string text =
"Windows Server 2003 builds on the core strengths " +
"of the Windows family of operating systems--security, " +
"manageability, reliability, availability, and scalability. " +
"Windows Server 2003 provides an application environment to " +
"build, deploy, manage, and run XML Web services. " +
"Additionally, advances in Windows Server 2003 provide many " +
"benefits for developing applications.";
PrintDocument doc = new ParagraphDocument(text);
doc.PrintPage += new PrintPageEventHandler(this.Doc_PrintPage);