Hi. xin chào các bạn

Đây là bài đầu tiên trong seri các bài viết về chủ đề : Học Lập trình MFC

Trong bài viết này tôi sẽ tóm tắt kiến thức cơ bản về:

Kỹ thuật lập trình windows APIthư viện lập trình MFC.

Đã bao giờ bạn tự hỏi rằng:

Làm thế nào tôi có thể lập trình ra được các phần mềm mà có giao diện rất tiện lợi dành cho người sử dụng.

Có các button, cửa sổ, các hộp thoại, để tương tác giữa người sử dụng và máy tính một cách rất dễ dàng.

Thì đây chính là câu trả lời dành cho bạn.

1. Tìm hiểu về windows API

Window API : Là một thư viện các hàm, các định nghĩa được hệ điều hành windows

cung cấp cho các lập trình viên có thể lấy ra để sử dụng

cho các mục đích viết các ứng dụng của mình trên nền windows.

Bạn tưởng tượng rằng, khi đặt câu hỏi như trong lời dẫn dắt ở trên, thì câu trả lời chính là:

Trong hệ thống windows, đã có rất nhiều các hàm có sẵn để tạo ra các dạng ứng dụng như là :

Tạo cửa sổ, tạo button, dialog, message box,…. .

Và vấn đề người lập trình phải biết rằng, nó đã có sẵn,

và mình phải tìm cách lấy nó ra để viết cho các ứng dụng của mình.

Đây chính là lúc chúng ta nhớ lại ý nghĩa của việc lập trình module và hàm trong c++.

Người ta tạo ra các hàm sẵn có phục vụ cho mục đích của mình,

và cho phép người khác sử dụng lại để phục vụ cho mục đích của họ, miễn sao cả hai ứng dụng đều chạy chung trên một nền tảng.

Window API là các hàm chủ yếu được viết bằng c,

nên có thể coi như đó là kỹ thuật lập trình c cho windows.

Thành phần của API:

Đây được hiểu như là sự phân loại cho các hàm của API là thế nào.

+ Các hàm xử lý vấn đề tài nguyên của windows như là:

xử lý tệp tin, thiết bị, tiến trình hoạt động, quản lý bộ nhớ.

Đây được coi như là xử lý cốt lõi, nhân của windows và chúng nằm trong thư viện kernel32.dll.

=> Được gọi là nhóm Base Services.

+ Các hàm xử lý việc tắt mở máy tính, các dịch vụ của windows, tài khoản người dùng, registry….

Các hàm này được nằm trong thư viện dvapi32.dll.

=> Được gọi là nhóm Advance Services.

+ Các hàm xử lý việc xuất dữ liệu ra màn hình máy tính, máy in. Chúng nằm trong thư viện gdi32.dll

=> Được gọi là nhóm Graphics Services.

+ Các hàm xử lý việc cung cấp giao diện phần mềm cho người sử dụng như : 

button, form, messagebox, textbox….xử lý việc vào ra tín hiệu với chuột và bàn phím.

Các hàm này nằm trong thư viện : shell32.dll, user32.dll, comctl32.dll, comdlg32.dll

=> Được gọi là nhóm User Interface.

Ngoài ra còn có các nhóm về Network Service và Multimedia:

xử lý cho việc truyền thông mạng và kết nối đa phương tiện.

Ok như vậy đến đây chúng ta hiểu được rằng:

Muốn tạo ra các ứng dụng có giao diện người sử dụng trên windows thì chúng ta phải sử dụng các hàm API của windows.

Và chúng ta đã biết chúng nằm trong các thư viện ở trên.

Nhưng bây giờ làm thế nào để sử dụng được nó.

2. Sử dụng các hàm Windows API như thế nào.

Để sử dụng được các hàm windows API, người ta có thể sử dụng 2 kỹ thuật.

+ Sử dụng trực tiếp các hàm windows API mà đơn giản gọi là kỹ thuật lập trình c cho windows.

Với môi trường visual studio các bạn có thể tạo các project với nền windows.

Sau đó khai báo các thư viện, và sử dụng các hàm API bình thường.

Để thực hiện kỹ thuật này các bạn phải đọc các ebook

về kỹ thuật lập trình c cho windows để hiểu nguyên lý và các gọi các hàm API.

+ Sử dụng kỹ thuật lập trình C++ cho windows. Đó kỹ thuật lập trình MFC.

Với kỹ thuật này, việc sử dụng các hàm API được nhẹ nhàng hơn dễ hiểu hơn.

3. Kỹ thuật lập trình MFC.

khi  việc sử dụng các hàm windows API quá phức tạp, khó hiểu, có nhiều hạn chế.

Do đó thư viện MFC được xây dựng nên để giải quyết các vấn đề kể trên.

MFC là một thư viện lập trình hướng đối tượng viết bằng ngôn ngữ C++.

Nói đơn giản nó là một tập hợp các lớp mà các lớp này đóng gói các hàm windows API bên trong.

Như vậy thay vì việc phải gọi các hàm windows API một cách trực tiếp.

Chúng ta có thể sử dụng các lớp của MFC khai báo ra các đối tượng và sử dụng đối tượng này để

gọi các hàm của MFC mà thực chất bên trong các hàm đó, là sự xuất hiện của các hàm API.

Vậy MFC được sử dụng trên môi trường Visual studio như thế nào.

Hãy cùng xem video dưới đây để rõ ràng.