Luận văn ngôn ngữ Visual C++ - Pdf 20

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 có tác
động tơng quan. Tuy nhiên, tác động cụ thể đợc thi hành cụ thể vào dữ liệu. u điểm
của tính đa dạng là giúp làm giảm tính phức tạp bằng cách cho phép cùng một giao

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
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.
- Trang 2-
Luận văn tốt nghiệ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 chúng, thuật
ngữ instance và đối tợng có thể thay thế lẫn nhau.
+ Trạng thái (state): của một đối tợng bao gồm tất cả các đặc tính ( thờng là
tĩnh ) của đối tợng trừ đi giá trị hiện tại ( thờng là động ) của mỗi đặc tính đó.
+ Hành vi (behavior): của một đối tợng là đối tợng hoạt động nh thế nào theo
điều kiện trạng thái của nó thay đổi và thông điệp truyền đến.
+ Hoạt động ( Operations): là một dịch vụ mà lớp cung cấp cho khách hàng

- Trang 3-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
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.
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.
OLE Support class: Các lớp này quản lý các đối tợng OLE trong những
giao dịch.
ODBC class: Liên quan đến việc quản lý và truy xuất các tập tin dữ liệu
thông qua cơ chế ODBC (Open DataBase Connectivity).
Miscellaneous Class: Các lớp linh tinh này là hỗ trợ mô hình đối tợng
runtime, các kiểu dữ liệu đơn giản, các cấu trúc.
2- Mối quan hệ của một số lớp trong MFC :
-CObject
+ CCmdTarget
+ CFile
+ CMenu
+ CGdiObject

+ CTreeCtrl
+ CSliderCtrl
+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 nhng 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 xuất từ lớp này
những lớp nếu muốn tạo ra một loại cửa sổ mới nhìn thấy đợc.
+ Một số hàm trong lớp CWnd :
CWnd::BeginPaint
CDC* BeginPaint(LPPAINTSTRUCT lpPaint): Chuẩn bị CWnd để tô vẽ lại
và điền vào cấu trúc dữ liệu PAINTSTRUCT những thông tin liên quan đến việc tô
vẽ này. Cấu trúc tô vẽ chứa một cấu trúc RECT mang một hình chữ nhật nhỏ nhất
bao gồm trọn vùng nhật tu và một cờ hiệu cho biết vùng nền có nên xóa hay không.
Vùng nhật tu đợc đặt để bởi các hàm Invalidate ( ), InvalidateRgn( ), hoặc
InvalidateRect( ) và bởi hệ thống khi hệ thống thay đổi kích thớc, di chuyển, tạo
mới, diễu hành hoặc thực hiện bất kỳ động tác nào ảnh hởng đến vùng Client. Nếu
vùng nhật tu đợc đánh dấu xoá phần nền thì hàm BeginPaint( ) sẽ gởi thông điệp
WM_ONERASEBKGND.

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.
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
afx_msg void OnLButtonUp( UINT nFl;ags, CPoint point): Gọi hàm này khi
ngời sử dụng nhả nút trái chuột. Các thông số giống hàm OnLButtonDlbClk.
CWnd::OnMouseMove
- Trang 6-
Luận văn tốt nghiệp
--------------------------------------------------------------------------------------------------
afx_msg void OnMouseMove(UINT nFlags, CPoint point): MFC gọi hàm
này khi con trỏ chuột di chuyển. Nếu con chuột không bị chặn hứng thì thông điệp
WM_MOUSEMOVE sẽ trực tiếp nhận bởi đối tợng CWnd nằm dới con
trỏ chuột, bằng không thông điệp sẽ đi đến cửa sổ đã chận hứng con chuột. Các
thông số đợc giải thích trên hàm OnLButtonDlbClk.
CWnd:: SetForcus
CWnd* SetFocus( ): Hàm này làm cho cửa sổ nhận đợc input focus để có thể
nhận đợc tất cả các nhập liệu từ bàn phím và con chuột, nó sẽ gởi một thông điệp
WM_KILLFOCUS cho cửa sổ đã bị đánh mất focus và một thông điệp
WM_SETFOCUS cho cửa sổ đã nhận input focus. Trị trả về là đối tợng CWnd có
focus trớc đó, nếu trị trả về NULL thì không có cả sổ nào cả. Con trỏ có thể là hiện


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