Điều khiển thanh tiến trình là một cửa sổ mà ứng dụng có thể sử dụng để biểu thị tiến trình của một thao tác dài. Nó bao gồm một hình chữ nhật được lấp đầy dần dần, từ trái sang phải, với màu nổi bật của hệ thống khi một hoạt động diễn ra. Nó được đại diện bởi lớp CProgressCtrl . Đây là danh sách các phương thức trong lớp CProgressCtrl
Sơ Không. | Tên & Mô tả |
1 | Tạo ra Tạo điều khiển thanh tiến trình và gắn nó vào đối tượng CProgressCtrl. |
2 | TạoEx Tạo một điều khiển tiến trình với các kiểu mở rộng của Windows đã chỉ định và gắn nó vào một đối tượng CProgressCtrl. |
3 | GetBarColor Lấy màu của thanh chỉ báo tiến trình cho điều khiển thanh tiến trình hiện tại. |
4 | NhậnBkColor Lấy màu nền của thanh tiến trình hiện tại. |
5 | GetPos Nhận vị trí hiện tại của thanh tiến trình. |
6 | Nhận phạm vi Lấy giới hạn trên và dưới của phạm vi điều khiển thanh tiến trình. |
7 | GetState Nhận trạng thái của điều khiển thanh tiến trình hiện tại. |
số 8 | GetStep Lấy gia số bước cho thanh tiến trình của điều khiển thanh tiến trình hiện tại. |
9 | Bù đắpPos Tăng vị trí hiện tại của điều khiển thanh tiến trình theo một mức tăng cụ thể và vẽ lại thanh để phản ánh vị trí mới. |
10 | ĐặtThanhMàu Đặt màu của thanh chỉ báo tiến trình trong điều khiển thanh tiến trình hiện tại. |
11 | ĐặtBkColor Đặt màu nền cho thanh tiến trình. |
12 | Đặt Marquee Bật hoặc tắt chế độ vùng chọn cho điều khiển thanh tiến trình hiện tại. |
13 | ĐặtPos Đặt vị trí hiện tại cho điều khiển thanh tiến trình và vẽ lại thanh để phản ánh vị trí mới. |
14 | Đặt dải Đặt phạm vi tối thiểu và tối đa cho điều khiển thanh tiến trình và vẽ lại thanh để phản ánh phạm vi mới. |
15 | SetState Đặt trạng thái của điều khiển thanh tiến trình hiện tại. |
16 | ĐặtBước Chỉ định gia số bước cho điều khiển thanh tiến trình. |
17 | bước đi Nâng cao vị trí hiện tại cho điều khiển thanh tiến trình bằng cách tăng bước (xem SetStep) và vẽ lại thanh để phản ánh vị trí mới. |
Hãy để chúng tôi tạo một ứng dụng MFC mới.
Bước 1 – Thay đổi ID của điều khiển Văn bản thành và xóa chú thích.
Bước 2 – Kéo Kiểm soát tiến độ từ Hộp công cụ.Bước 3 – Thêm biến giá trị cho điều khiển Văn bản tĩnh.
Bước 4 – Thêm biến điều khiển cho điều khiển Tiến độ.
Bước 5 – Đây là cách triển khai trong OnInitDialog()
BOOL CMFCProgressControlDlg::OnInitDialog() {
CDialogEx::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL) {
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty()) {
pSysMenu -> AppendMenu(MF_SEPARATOR);
pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
m_progCtrl.SetRange(0,100);
for (int i = 0; i <= 100; i++) {
m_progCtrl.SetPos(i);
}
return TRUE; // return TRUE unless you set the focus to a control
}
Bước 6 – Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ thấy đầu ra sau.
MFC – Thanh tiến độ
Bên cạnh điều khiển Tiến trình, Visual C++ cung cấp hai điều khiển định hướng tiến trình khác –
- Microsoft Progress Control Phiên bản 5.0
- Microsoft Progress Control Phiên bản 6.0
Sự khác biệt chính là khả năng đảm nhận một hoặc hai định hướng của họ.
Chúng ta hãy xem xét một ví dụ đơn giản.
Bước 1 – Nhấp chuột phải vào hộp thoại trong cửa sổ thiết kế.
Bước 2 – Chọn Chèn Điều khiển ActiveX.
Bước 3 – Chọn Microsoft ProgressBar Control 6.0 và nhấp vào OK
Bước 4 – Chọn thanh tiến trình và đặt Hướng của nó trong Cửa sổ Thuộc tính thành 1 – ccOrientationVertical
Bước 5 – Thêm biến điều khiển cho thanh Tiến trình.
Bước 6 – Thêm đoạn mã sau vào OnInitDialog()
m_progBarCtrl.SetScrollRange(0,100,TRUE);
m_progBarCtrl.put_Value(53);
Bước 7 – Chạy lại ứng dụng này và bạn cũng sẽ thấy thanh tiến trình theo hướng Dọc.