6.1. Cơ chế đọc/ghi tệp
Windows cung cấp dịch vụ tệp tin và thư mục khá đầy đủ để xử lý trên ổ
đĩa, gồm các hàm API được đóng gói trong các lớp của thư viện MFC.
Các lớp gồm
CFile : thực hiện các thao tác cơ bản trên file
CFileDialog : hộp thoại chọn file
7 trang |
Chia sẻ: candy98 | Lượt xem: 551 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Lập trình Windows - Chương 6: Lập trình File & Print, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Chương 6
Lập trình
File & Print
26.1. Cơ chế đọc/ghi tệp
Windows cung cấp dịch vụ tệp tin và thư mục khá đầy đủ để xử lý trên ổ
đĩa, gồm các hàm API được đóng gói trong các lớp của thư viện MFC.
Các lớp gồm
CFile : thực hiện các thao tác cơ bản trên file
CFileDialog : hộp thoại chọn file
CFile object
a file
data
CFileDialog
36.2. Lớp CFileDialog
Cung cấp một hộp thoại để lựa chọn tệp tin, theo dạng Save hoặc Open
Thư viện khai báo lớp này:
Các phương thức cơ bản
CFileDialog( BOOL);
int DoModal();
CString GetPathName();
CString GetFileName();
46.3. Lớp CFile
Cung cấp các chức năng cơ bản về xử lý tệp tin
Các phương thức gồm
CFile ();
CFile( filename, mode );
Open( filename, mode );
mode = CFile::modeRead / modeWrite / modeCreate /
modeReadWrite / typeText / typeBinary...
Close();
Read( void *buff, UINT count );
Write( void *data, UINT count );
Seek( pos );
pos = CFile::begin / current / end
static Rename( oldname, newname );
static Remove( filename );
56.4. Cơ chế in tài liệu
Windows cung cấp dịch vụ in cho các ứng dụng dưới dạng đồ họa, thực
hiện thông qua ngữ cảnh thiết bị máy in (Device Context).
Lớp CPrintDialog được cung cấp bởi thư viện MFC cho phép chọn thiết bị
máy in đã cài đặt trong hệ thống, gồm:
CPrintDialog( BOOL SetupOnly);
int DoModal();
int GetCopies();
BOOL GetDefault();
HDC GetPrinterDC();
Tài
liệu
DC
máy in
66.5. Các hàm in tài liệu
Lấy HDC từ đối tượng chọn máy in, kết nối vào một đối tượng CDC để
thực hiện in bằng lệnh sau:
CDC :: Attach( HDC DC_của_máy_in );
Xác định kích thước ngang/dọc của trang in
int CDC :: GetDeviceCaps( HORZRES / VERTRES ); // đơn vị pixel
int CDC :: GetDeviceCaps( HORZSIZE / VERTSIZE ); // đơn vị cm
Tài
liệu
HDC
CDC
CPrintDialogGetPrinterDC
76.5. Các hàm in tài liệu
Các bước để in
Bước 1) Bắt đầu in tài liệu
CDC :: StartDoc( LPDOCINFO );
DOCINFO{ cbSize=kích thước, lpszDocName=tên tài liệu in, ...còn lại =0 }
Bước 2) Bắt đầu in một trang mới
CDC :: StartPage();
Bước 3) Thực hiện bằng các lệnh xử lý đồ họa, văn bản trên CDC
Bước 4) Kết thúc một trang in
CDC :: EndPage();
Có thể lặp lại bước 2 để in một trang mới.
Bước 5) Kết thúc tài liệu in
CDC :: EndDoc();