Thứ Ba, 24 tháng 2, 2015

MFC Căn Bản: Dialog Based


MFC (Microsft Foundation Class)là thư viện lập trình do Microsoft viết ra, nó thực hiện đóng gói các hàm API của window vào trong các lớp để từ đó việc sử dụng các hàm API được thuận tiện hơn rất nhiều so với việc lập trình API truyền thống. 
Dialog Based. 
Dialog base là một loại ứng dụng cơ bản của MFC, nó thường được sử dụng để tạo ra những demo
đơn giản, những ứng dụng nhỏ gọn, ví dụ calculate.
Open Visual studio 2010, New project. Đánh tên project.





  




Click OK - next và choose Dialog based. 

 


Sau đó OK. Build và chạy thử

 


Chúng ta quan nhiều đến các file source như sau.
















Stdafx.h là file tiền xử lý header, đây cũng là nơi bạn có thể khai báo thêm các header mới khi cần dùng đến ví dụ như math.h, ifstream.h.
+ Resource.h : Là file chưa các ID được định nghĩa đại diện cho dialog, và các control.
+ CalculatorBasic.h/cpp là lớp App được kế thừa từ CwinApp nó là lớp đại diện cho ứng dụng khi bắt đầu chạy và gọi sang các lớp khác để xây dựng lên giao diện windows.
+ CalculatorBasicDlg.h/cpp là lớp quản lý trực tiếp dialog base, hay chính là lớp xây dựng nên dialog base, nó được kế thừa từ CDialogEX.

Ngoài ra các bạn thấy có một lớp có tên là CaboutDlg được định nghĩa cùng với
CcalculatorBasicDialog. Lớp này quản lý một dialog nhỏ có tên là about dialog, trong dialog base nó
thường ít được sử dụng, nhưng trong SDI/MDI nó hay được sử dụng như là một dialog nhỏ thông báo
về version bản quyền sản phẩm của một đơn vị sản xuất.

 




Chúng ta ko cần quan tâm nhiều về nó.
Giờ chúng ta sẽ thử thêm một button vào dialog base sau đó thực hiện bài toán:
Ấn vào button hiện ra một messagebox thông báo.
Mở hộp thoại toolbox(thường xuất hiện bên phải , nếu ko có thì chọn view item rồi chọn toolbox dialog để show nó ra).
Chọn button và kéo ra một button trên dialog base.












Chuột phải button chọn properties để sửa thuộc tính:
Sửa caption và tên ID và save lại.

Bấm chuột kép vào button để nó tự sinh ra hàm xử lý, hoặc có thể tự tạo.
  

Nếu tự tạo, thì phải khai báo hàm bên header.h sau đó định nghĩa trong cpp.
Rồi gọi hàm trong bảng ánh xạ thông điệp.
Bảng ánh xạ thông điệp là cơ chế liên kết giữa control và hàm xử lý.
Mỗi khi con trol được nhận một sự kiện bất kỳ như click, quét, focus… thì sẽ gửi một message sự kiện đến bảng ánh xạ, bảng ánh xạ sẽ nhận sự kiện và kiểm tra xem gửi sự kiện đó đến hàm nào xử lý nếu như trong bảng đã khái bao sự kiện đó. Còn nếu ko thì control đó ko được sử dụng, ko thể thao tác.
Tùy mỗi loại control mà message ánh xạ thông điệp khác nhau.
Sau khi có được hàm xử lý.
Chúng ta show một messagebox như sau:

 


Có rất nhiều tùy chọn cho message box về button và kiểu icon hiện thị, các bạn có thể thay đổi và xem kết quả.




















Đây là cơ bản về việc tạo một dialog, cấu trúc source code của nó, và cách sử dụng messageBox.
Bài sau chúng ta sẽ sử dụng tìm hiểu về một số control cơ bản áp dụng với dialog base để tạo ra demo đầu tiên. Calculator.

_______________________________________________________________________
Damme88 (Phamtoanbonmat@gmail.com)

Không có nhận xét nào:

Đăng nhận xét