MFC là một thư viện lập trình dựa trên ngôn ngữ C++ của Microsoft giúp lập trình viên viết những ứng dụng chạy trên Windows một cách nhanh chóng.
Với MFC các bạn có thể Viết ứng dụng trên các phiên bản của Visual Studio từ bản VS 6.0, VS 2005, VS 2008 cho đến nay là bản Visual Studio 2010 với rất nhiều tính năng mới.
Hôm nay mình xin chia sẽ các viết một ứng dụng vẽ Rectangle dựa trên thư viện MFC và công cụ lập trình Visual Studio 6.0 (C++ 6.0)
Creating Project And Coding
Fire up Visual C++ 6.0
Sau đó các bạn chọn File->New-> Cửa sổ New hiện ra, các bạn chọn MFC AppWizard và đặt tên cho Project và chọn OK :
Sau khi bạn chọn OK thì cửa sổ sau sẽ hiện ra :
Tùy theo ngu cầu mà chúng ta lựa chọn :
- Single Document
- Miltiple Documents
- Dialog base
ở đây mình chọn Single Document và chọn Finish .
Và bây giờ chúng ta tiến hành Vẽ Rectangle trong Ứng dụng.
Các bạn chọn vào Class CShape View và tìm hoàn OnDraw (Hay OnPaint) để viết lệnh xử lý:
Bây giờ chúng ta bắt đầu xử lý việc vẽ các Hình vuông lấp đầy ứng dụng và mỗi hình tương ứng với một màu.
Các bạn vào Hàm OnDraw và viết các lệnh sau:
1: void CShapeView::OnDraw(CDC* pDC)
2: {
3: CShapeDoc* pDoc = GetDocument();
4: ASSERT_VALID(pDoc);
5: // TODO: add draw code for native data here
6: CClientDC dc(this);
7:
8: srand(time(0));
9: CRect rect ;
10: GetClientRect(&rect);
11: // Xac ding kich thuoc toa do cho cac hinh Vuong
12: int cx = rect.Height()/4;
13: int cy = rect.Width()/cx;
14:
15: // con tro Set color cho cac Hinh
16: CBrush *pOldBrush;
17: for(int i = 0 ; i < cy ; i ++)
18: {
19: for(int j = 0 ;j < cx; j ++)
20: {
21: CBrush rush(RGB(rand()%256,rand()%256,rand()%256));
22: pOldBrush = dc.SelectObject(&rush);
23: CRect myRect(i*cx,j*cx,i*cx+cx,j*cx+cx);
24: dc.Rectangle(myRect);
25: }
26:
27: }
28: dc.SelectObject(pOldBrush);
29: }
Run Application(Ctrl + F5) và xem kết quả:
Thanks, post bài như vậy thực hành ngay sẽ nhớ bài, tiếp tục phát huy.
LikeLike
Nhìn hoa cả mắt! @@
LikeLike
Hoa cũng phải chịu thoi, kekek chứ cô kêu làm mà !
LikeLike
hihiihih Demo mà Thi ^^
LikeLike