CHƯƠNG 9:
Hộp hội thoại
9.1 HỘP HỘI THOẠI (DIALOG):
Dialog là cửa sổ giao diện với các đặc điểm trang trí được mô tả thông qua một cấu trúc độc lập. Cấu trúc này được lưu trữ trong resource của ứng dụng, gọi là dialog resource. Có hai kiểu hoạt động của dialog:
Dialog khóa (modal dialog): Tác vụ thực hiện dialog phải chờ đến khi dialog chấm dứt hoạt động.
Dialog không khóa (modeless dialog): Tác vụ thực hiện dialog có thể tiếp tục các xử lý tiếp theo ngay sau lệnh thực hiện dialog.
9.2 LỚP CDialog:
CDialog là lớp đối tượng kế thừa từ lớp CWnd, được sử dụng để quản lý dialog. Ngoài các thuộc tính và hành vi kế thừa public từ lớp CWnd, lớp CDialog có các hành vi bổ sung sau đây:
CDialog (
UINT nIDTemplate, // Số hiệu của dialog resource CWnd* pParentWnd = NULL // Con trỏ đối tượng cửa sổ cha ); Tạo lập đối tượng dialog hoạt động kiểu khóa.
CDialog( ); Tạo lập đối tượng dialog hoạt động kiểu không khóa. virtual BOOL OnInitDialog( ); Hành vi mà đối tượng dialog sử dụng để
xử lý WM_INITDIALOG, message do windows gửi đến dialog trước khi kích hoạt dialog. Kế thừa hành vi này nhằm thực hiện khởi tạo thông số cho dialog và các controls của nó.
afx_msg HBRUSH OnCtlColor (
CDC* pDC, // Con trỏ đối tượng DC của control CWnd* pWnd, // Con trỏ đối tượng cửa sổ quản lý control UINT nCtlColor // Thông tin về loại control được trang trí
); Hành vi xử lý WM_CTLCOLOR, message do windows gửi đến dialog khi có nhu cầu trang trí một control trên dialog.
nCtlColor có thể là một trong các giá trị sau:
CTLCOLOR_BTN : Đối tượng trang trí là button
CTLCOLOR_DLG : Dialog
CTLCOLOR_EDIT : Hộp nhập liệu
98 Lập trình Windows với MFC - Microsoft Visual C++ 6.0 - Lê Ngọc Thạnh - lntmail@yahoo.comCTLCOLOR_LISTBOX : Listbox