giới thiệu vè ngôn ngữ visual C++ - Pdf 58

Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
CHƯƠNG I: GIỚI THIỆU VỀ NGÔN NGỮ

I - GIỚI THIỆU VỀ VISUAL C++
1- Sự đóng kín :
Sự đóng kín là cơ chế liên kết mã và dữ liệu mà nó thao tác, và giữ cho
cả hai được an toàn khỏi sự can thiệp từ bên ngoài vào do sử dụng sai. Trong
ngôn ngữ hướng đối tượng mã và dữ liệu liên kết với nhau để tạo thành một hợp
đen độc lập. Trong hộp này là tất cả các mã và dữ liệu cần thiết. Khi mà một dữ
liệu liên kết như thế thì một đối tượng được tạo ra. Nói cách khác đối tượng là
dụng cụ hỗ trợ cho sự đóng kín. Trong một đối tượng mã, dữ liệu hoặc cả hai có
thể là riêng của đối tượng đó hoặc chung. Mã hoặc dữ liệu thuộc về đối tượng
đó và chỉ được truy cập bởi bộ phận của đối tượng. Nghóa là mã và dữ liệu riêng
không được truy cập bởi các phần khác của chương trình tồn tại ngoài đối tượng.
Khi dữ liệu là chung, các bộ phận khác của chương trình có thể truy cập được nó
mặc dù nó được đònh nghóa trong một đối tượng. Các phần chung của đối tượng
được dùng để cung cấp một giao diện có điều khiển cho các phần riêng của đối
tượng .
Với mọi mục đích, một đối tượng là một biến thuộc loại do người sử dụng
đònh nghóa. Một đối tượng liên kết mã và dữ liệu có thể được xem như là một
biến. Mỗi lần chúng ta đònh nghóa một đối tượng mới, chúng ta tạo ra một loại dữ
liệu mới.
2 Tính đa dạng :
Tính đa dạng là tính chất cho phép một tên được dùng cho hai hay nhiều
mục đích khác nhau có quan hệ về phương diện kỹ thuật. Mục đích của tính đa
dạng được áp dụng cho OOP (Object Oriented Programming )là cho phép một
tên dùng để chỉ rõ một lớp tác động tổng quát. Trong lớp tác động tổng quát,
một tác động cụ thể được xác đònh bởi loại dữ liệu.
Tổng quát khái niệm tính đa dạng là ý tưởng “ Một giao diện nhiều
phương pháp “. Điều này có nghóa là thiết kế một giao diện chung cho một nhóm

Lớp là cơ cấu được dùng để tạo đối tượng. Như vậy lớp là trung tâm của nhiều
đặc điểm.
Cú pháp để khai báo một lớp cũng tương tự như cú pháp để khai báo một
cấu trúc. Dạng tổng quát như sau:
Class tên-lớp {
Các hàm và biến riêng của lớp
Public :
Các hàm và biến riêng của lớp
} danh sách các đối tượng
- Trang 2-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
Trong khai báo lớp danh sách các đối tượng là tùy chọn. Giống như cấu trúc ta
có thể khai báo đối tượng sau này khi cần. Tên lớp là tùy chọn có tính kỹ thuật,
từ
quan điểm thực hành, thực sự nó luôn luôn cần đến. Lý do là tên lớp trở thành
một tên kiểu mới được dùng để khai báo các đối tượng của lớp.
Các hàm và biến được khai báo bên trong khai báo lớp được gọi là thành
viên của lớp đó. Theo mặt đònh, thì tất cả các hàm và biến khai báo bên trong
lớp là thuộc riêng của lớp đó. Trong một lớp có thể có các khai báo như : public,
protected, private.
+ public : là khai báo tới mọi client.
+ protected : là khai báo được truy xuất chỉ chính lớp đó, lớp con của nó,
và lớp friend.
+ private : là khai báo chỉ chính lớp đó và lớp friend sử dụng.
Tóm lại: Lớp là tập hợp của các đối tượng cùng có một cấu trúc chung hay hành
vi chung. Một đối tượng chỉ là thể hiện của lớp.
2- Đối tượng :
Một đối tượng có trạng thái, hành vi, đặc tính nhận dạng: Cấu trúc và
hành vi của các đối tượng giống nhau được đònh nghóa trong một lớp chung của

♣ Document & application class : Lo quản lý các tài liệu và các ứng
dụng .
♣ Control Class : Liên quan đến các ô điều khiển nhìn thấy được (visual
control) như ô hiệu đính (Edit control), nút điều khiển (command button) ô liệt
kê (list box) cũng như ô hỗn hợp ( combo box)
♣ Dialog box Class: Xử lý các khung đối thoại tự tạo bởi người sử dụng
( custom dialog box) và các khung đối thoại thông dụng đã cài sẵn ( command
dialog box như file, color selection, print, Fine/ Replace dialog box).
♣ Fram Window class : Quản lý các khung cửa sổ (chính và con ) liên
quan đến tài liệu SDI và MDI.
♣ View Class: Quản lý các trình đơn và các mục trình đơn.
♣ Control Bar Class : Tạo những thanh công, thanh tình trạng và các
dialog Bar trong một ứng dụng đi kèm với cửa sổ bò chẻ đôi giống như trên file
Manager của windows.
♣ Menu Bar : Quản lý các trình đơn và mục trình đơn .
♣ Graphical Draw Object : Liên quan đến các hình ảnh đồ họa bitmap,
Icon và việc quản lý và sử dụng font chữ (Font ), hộp mầu (Color palette) thường
được gọi là các đối tượng GDI (Graphic Device Interface).
♣ Graphical Drawing Class: Các lớp này sẽ giải quyết vẽ việc các điểm,
đường thẳng hoặc cong, hình dáng( tròn, chữ nhật, đa giác) thường được gọi là
đối tượng GDI.
♣ File Services Class: Các lớp này chận hứng và giăng bẫy bắt các lỗi
lầm khi chạy chương trình. Các sai lầm này có thể do hoạt động sai liên quan
đến tập tin, ký ức nguồn lực và OLE.
- Trang 4-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
♣ Collection Class: Gồm ba nhóm lớp cho phép quản lý các bảng dãy
(Array), bảng liệt kê kết nối ( Linked List) và “maps” thuộc nhiều kiểu dữ liệu
khác nhau hoặc nhiều lớp khác nhau.

+ CPaintDC
+ CClientDC
+CMetaFileDC
+CWindowDC
- CGdiObject
+ CPen
+ CBrush
+ CBitmap
+ CRgn
+ CFont
+ CPalette
- Trang 5-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
+CStatusbarCtrl
+ CToolBarCtrl
+ CRichEditCtrl
+ CWinThread
+ CDocument
+ CDocTemplet
2.1- Lớp CWnd :
Lớp Cwnd hậu duệ của lớp CCmdTarget là một lớp đồ sộ khá quan trọng
cung cấp những chức năng cơ bản cho tất cả các lớp cửa sổ như các ô điều khiển,
các khung đối thoại và View. Chỉ có những lớp dẫn xuất từ CWnd mới có thể
nhận các thông điệp. Thread và document có thể nhận command nhưng không
thể nhận message.
Lớp CWnd cung cấp chức năng thiên cửa sổ như hàm API CreateWindow( )
và DestroyWindow( ), các hàm lo tô vẽ cửa sổ trên màn hình, xử lý các thông
điệp, nói chuyện với Clipboard và nhiều thứ khác. Ta không bao giờ khai báo
trực tiếp một thể hiện của lớp CWnd trong ứng dụng Windows, mà phải cho dẫn

của CWnd. Vùng client đánh dấu phải được tô vẽ lại khi thôngđiệp WM_PAINT
kế tiếp xẩy ra. Thông số bErare cho biết mầu nền nằm trong vùng có nên xoá
hay không khi xử lý.
CWnd:: OnCreate
Afx_msg int OnCreate(LPCREATESTRUCT lpcreateStruct): MFC gọi
hàm này khi ứng dụng yêu cầu tạo cửa sổ Windows. Việc tạo ra bằng cách gọi
hàm Create( ) hoặc CreateEx( ). Đối tượng CWnd nhận triệu gọi hàm này sau
khi cửa sổ đã tạo ra nhưng trước khi cửa sổ hiện nguyên hình. Nghóa là OnCreate
được gọi trước khi hàm Create() hoặc CreateEx( ) trở về. Thông số
lpcreateStruct là con trỏ chỉ về cấu trúc CREATESTRUCT chứa thông tin liên
quan đến đối tượng CWnd sẽ đươc tạo ra.
CWnd::OnLbuttonDlbClk
Afx_msg void OnLButtonDlbClk( UINT nFlags, CPoint point): MFC gọi
hàm này khi người sử dụng nhấn nút trái chuột. Chỉ những cửa sổ nào mang
WNDCLASS stype CS_DBLCLHS mới nhận được triệu gọi hàm. Việc bất tắt
kép chuột sẽ phát sinh 4 events: Các thông điệp WM_LBUTTONDOWN,
WM_LBUTTONDLBCLK,WM_MOUSEMOVE và một thông điệp
WM_LBUTTONUP khi nhả nút chuột.
+ nFlags cho biết những visual keys khác nhau được nhấn xuống:
- MK_CONTROL: Xét nếu phím Control nhấn xuống
- MK_SHIFT: Xét nếu phím shift được nhấn xuống.
+ point Cho biết tọa độ x,y của cursor.
- Trang 7-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
CWnd:: On_LButtonDown
afx_msg BOOL OnLButtonDown( UINT nFl;ags, CPoint point): Gọi hàm
này khi người sử dụng nhấn nút trái chuột. Các thông số giống hàm
OnLButtonDlbClk.
CWnd:: On_LButtonUp

Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
Một view chỉ có thể gắn với một document nhưng một document có thể gắn
liền với nhiều view. Ứng dụng có thể hỗ trợ nhiều loại view khác nhau đối với
một loại document, ví dụ một trình soạn thảo văn bản có thể cung cấp cả một
view xem trọn văn bản của document và một outline view chỉ cho thấy phần tiêu
đề các đoạn văn bản mà thôi. Các đoạn view này có thể cho thể hiện trên nhiều
khung cửa riêng biệt hoặc trên một splitter window khác nhau.
Một view có thể chòu trách nhiệm giải quyết các kiểu nhập liệu khác nhau:
từ bàn phím, từ bấm tắt con chuột cũng như từ những lệnh trình đơn, lệnh thanh
công cụ hoặc thanh điều hành. Một view sẽ tiếp nhận những lệnh chuyển đến từ
frame windows. Nếu view không xử lý lệnh nào đó thì nó chuyển tiếp cho
document được gắn với nó. Muốn sử dụng view ta cho dẫn xuất một lớp từ
CView rồi thiết đặt hàm thành viên OnDraw( ) lo việc hiển thò màn hình.
+ Một số hàm thành viên lớp CView:
CView::GetDocument
CDocument* GetDocument( ) const : Gọi hàm này đẻ lấy con trỏ chỉ về
document của view, việc này cho phép gọi các hàm thành viên document. Trò trả
về là một con trỏ chỉ về đối tượng CDocument được gắn liền với view, nếu
NULL view không gắn liền với document.
CView:: OnBeginPrinting
vitual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo): Được triệu
gọi bởi MFC vào đầu công tác Print hoặc PrintPreview sau khi hàm
OnPreparePrinting được gọi vào. Thiết đặt mặc nhiên của hàm này sẽ không
làm gì cả, cho phủ quyết hàm để cấp phát bất cứ nguồn lực GDI nào đó như bút
vẽ, cọ vẽ hoặc guồn lực đặc biệt cần cho in ấn.
- pDC: con trỏ chỉ về printer device context.
- pInfo: con trỏ chỉ vế cấu trúc CPrintInfo mô tả công tác in hiện hành.
CView:: OnEndPrinting
virtual void EndPrinting( CDC* pDC, CPrintInfo): Hàm này gọi bởi MFC


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status