Tải bản đầy đủ (.ppt) (7 trang)

Chương 6 Lập trình File and Print

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (152.72 KB, 7 trang )

1
Chương 6
Lập trình
File & Print
2
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
CFile object
a file
data
CFileDialog
3
6.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: <afxdlgs.h>

Các phương thức cơ bản
CFileDialog( BOOL);
int DoModal();
CString GetPathName();
CString GetFileName();
4
6.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 );
5
6.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
6
6.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
A
t
t
a
c
h
C
á
c

l


n
h

v


&

v
ă
n

b

n
7
6.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();

×