Thursday, March 5, 2009

OOP: ObjPaint-02 - Tạo lớp & Sử dụng đối tượng

PHẦN 2: TẠO LỚP và SỬ DỤNG ĐỐI TƯỢNG
1. Add lớp mới
1.1. Tạo lớp



Hình 1.1: Click và tạo mới lớp



Hình 1.2: Cửa sổ tạo lớp CLine



Hình 1.3: File Header của CLine

1.2 Bổ sung thuộc tính cho lớp đối tượng



Hình 1.4: Click và bổ sung thêm biến thành viên cho CLine



Hình 1.5: Cửa sổ thêm biến thành viên


1.3 Add phương thức cho lớp đối tượng



Hình 1.6: Click và bổ sung thêm hàm thành viên



Hình 1.7: Cửa sổ thêm hàm thành viên Draw



Hình 1.8: Cửa sổ phần định nghĩa lớp

Ngoài ra, cần sửa hàm khởi tạo để có thể vẽ gì đó ra màn hình. (Hình vuông đỏ số 1)
Hàm Draw gọi vẽ một đoạn thẳng từ pt1 pt2. (Hình vuông đỏ số 2)
2. Khai báo đối tượng Line trong ứng dụng (CObjPaintDoc)

Đối tượng m_ln1 cần dược lưu trữ trong lớp CObjPaintDoc, vì đây là nơi lưu trữ dữ liệu cũa một document.



Hình 2.1: Click và bổ sung thêm biến thành viên cho CObjPaintDoc

Sau khi add thêm, file header sẽ có thêm 2 dòng này:

#include "Line.h" // Added by ClassView

CLine m_ln1;




Hình 2.2: Cửa sổ thêm biến thành viên m_ln1

3. Vẽ đối tượng LINE lên vùng Client

Hình 3.1: Cửa sổ định nghĩa hàm OnDraw trong lớp View


Việc vẽ lên CLIENT sẽ do hàm OnDraw của lớp CObjPaintView đảm nhận.

void CObjPaintView::OnDraw(CDC* pDC)
{

CObjPaintDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);


// TODO: add draw code for native data here
pDoc->m_ln1.Draw(pDC);

}


Ở đây, Document sẽ triệu gọi đễ lấy dữ liệu và in lên màn hình. Kết quả cuối cùng sẽ là:



Hình 3.2: Cửa sổ ứng dụng tạo ra khi OnDraw gọi vẽ đối tượng

Đối tượng chúng ta vẽ ra nằm trong hình vuông đỏ.

No comments:

Post a Comment