MFC First Application – Rectangle Demo

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

image

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 :

image

Sau khi bạn chọn OK thì cửa sổ sau sẽ hiện ra :

image

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ý:

image

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ả:

image

5 thoughts on “MFC First Application – Rectangle Demo

Leave a comment