MFC – Checkbox

Checkbox

Checkbox (Check box, tickbox hay tick box) là đối tượng trên GUI application, cho phép người dùng tạo ra 2 sự lựa chọn. Ví dụ, user phải trả lời “yes” (check checkbox) và “no” (uncheck checkbox) cho câu hỏi yes/no.
Chúng ta sẽ sử dụng source code base tại bài viết Dialog-based để add thêm checkbox.

Tạo Checkbox resource

Chọn [View] -> [Other Windows] -> [View Resources] Click [ID_MFCAPP_DIALOG] trong folder Dialog để hiển thị dialog [MFCApp]

Chúng ta add thêm button để hiểu cách tạo button resource trên màn hình dialog.
Chọn toolbox ở góc trái màn hình, search keyword “checkbox”

Kéo thả button vào màn hình dialog
Để thay đổi thuộc tính button, right-click chuột vào checkbox [Check1], chọn [Properties]

Thuộc tính của checkbox [Check1] Checkbox có caption là “Check1” và ID là IDC_CHECK1
Chúng ta có thể edit các thuộc tính default của checkbox

 

Xử lí sự kiện khi check/uncheck vào Checkbox

Right-click chuột vào checkbox [Check1], chọn [Add Event Handler…]

 

Chọn [Add and Edit] Event Handler Wizard tự động tạo interface phương thức xử lí sự kiện check/uncheck [Check1] trong file MFCDialogDlg.cpp

void CMFCAppDlg::OnBnClickedCheck1()
{
    // TODO: Add your control notification handler code here
}

Nhiệm vụ tiếp theo, chúng ta cần add logic xử lí cho phương thức OnBnClickedCheck1().

void CMFCAppDlg::OnBnClickedCheck1()
{
    // TODO: Add your control notification handler code here
    BOOL bCheck = IsDlgButtonChecked(IDC_CHECK1);
    if (bCheck)
    {
        SetWindowText(L"Check Box");
    }
    else
    {
        SetWindowText(L"MFCDialog");
    }      
}

Hàm IsDlgButtonChecked() trả TRUE, nếu user check vào checkbox. Và trả về FALSE, nếu user uncheck checkbox.
IDC_CHECK1 là ID của checkbox.
Khi user check checkbox, title bar của dialog được set là “Check Box”, khi uncheck title bar đươc set là “MFCDialog”

Source code

Download

Demo

Be the first to comment

Leave a Reply