Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (117.79 KB, 5 trang )
[VC++ 6.0 MFC] Hướng dẫn tạo đồng hồ chạy ngược
Thư viện các class MFC của VC++ không có sẵn class Timer chuyên quản lý
thời gian, tuy nhiên 2 class CWindow và CWnd (cùng các class con của chúng
như CDialog) có method SetTimer(), đây là sự bao đóng của hàm API
Windows cùng tên, nó cho phép tạo 1 timer luận lý với thời gian đếm xác định,
mỗi lần timer đếm hết, nó tạo 1 thông báo tên là WM_TIMER gửi về cho cửa
sổ ứng dụng xử lý. Để thấy rõ việc dùng method Timer giải quyết bài toán cụ
thể của bạn, chúng tôi có viết 1 ứng dụng nhỏ demo đồng hồ chạy ngược bằng
VC++. Qui trình xây dựng ứng dụng cụ thể như sau:
1. chạy VC++, chọn menu File.New để hiển thị cửa sổ New. Chọn Project
"MFC ClassWizard (exe), chọn vị trí thư mục chứa Project, nhập tên Project là
DispTimer rồi OK để bắt đầu qui trình wizard.
2. Ở cửa sổ "Step 1", bạn chọn mục "Dialog Based" rồi chọn button Finish để
hoàn tất qui trình wizard tạo ứng dụng dùng giao diện Form (dialog - hộp
thoại).
3. Khi cửa sổ thiết kế Form ứng dụng hiển thị, bạn thiết kế Form có dạng sau:
Form gồm 1 label để hiển thị giá trị giờ và 2 button có sẵn là OK và Cancel để
dừng phần mềm khi cần.
4. Chọn menu View.ClassWizard, chọn class làm việc là CDispTimerDlg,
chọn tag "Member Variables" và định nghĩa biến kết hợp với đối tượng label
với tên là m_timer (kiểu CString). Trong lập trình, bạn sẽ truy xuất đối tượng
label thông qua biến m_timer.
5. Cũng trong cửa sổ ClassWizard, chọn tag "Message maps", chọn Object ID
là CDispTimerDlg, duyệt tìm và chọn hàm WindowProc(), nhấn button "Add
Function" để tạo hàm xử lý sự kiện cho Form giao diện rồi viết code cho hàm
này như sau: