Danh mục

Các đối tượng điều khiển

Số trang: 41      Loại file: pdf      Dung lượng: 339.95 KB      Lượt xem: 13      Lượt tải: 0    
Thư Viện Số

Hỗ trợ phí lưu trữ khi tải xuống: 6,000 VND Tải xuống file đầy đủ (41 trang) 0
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

CÁC ĐỐI TƯỢNG ĐIỀU KHIỂNCác đối tượng điều khiển (control) là các thành phần tương tác trực quan, thể hiện rõ cơ chế giao tiếp đồ họa giữa ứng dụng và người dùng. Nhờ các đối tượng này, các chương trình ứng dụng trong Windows trở nên thân thiện và dễ dùng. Ví thế, chúng là các thành phần cơ bản không thể thiếu trong hầu hết các ứng dụng. Trong chương này, chúng ta sẽ tìm hiểu các tạo lập và xử lý cho các đối tượng điều khiển thông qua các lớp (class) sau : · Lớp Button...
Nội dung trích xuất từ tài liệu:
Các đối tượng điều khiển CÁC ĐỐI TƯỢNG ĐIỀU KHIỂNCác đối tượng điều khiển (control) là các thành phần tương tác trực quan, thể hiệnrõ cơ chế giao tiếp đồ họa giữa ứng dụng và người dùng. Nhờ các đối tượng này,các chương trình ứng dụng trong Windows trở nên thân thiện và dễ dùng. Ví thế,chúng là các thành phần cơ bản không thể thiếu trong hầu hết các ứng dụng.Trong chương này, chúng ta sẽ tìm hiểu các tạo lập và xử lý cho các đối tượngđiều khiển thông qua các lớp (class) sau : · Lớp Button (nút bấm). · Lớp Static (tĩnh). · Lớp Edit Box (soạn thảo). · Lớp List Box (danh sách). · Lớp Combo Box. · Lớp Scroll Bar (thanh cuộn).GIỚI THIỆU TỔNG QUANMột kiểu điều khiển được xem như là một cửa sổ con. Có thể tạo nhiều cửa sổ controng cùng một cửa sổ cha. Các cửa sổ con xác định handle cửa sổ của cha bằngcách gọi hàm :hwndParent = GetParent (hwnd);hwnd là handle của cửa sổ con cần lấy handle của cửa sổ cha. Và khi đã lấy đượchandle của cửa sổ cha, cửa sổ con có quyền gởi các thông điệp đến cửa sổ chathông qua hàm.SendMessage(hwndParent, message, wParam, lParam);message là thông điệp cần gởi đến thủ tục xử lý của cửa sổ cha. wParam là chỉdanh ID của cửa sổ con, còn lParam ghi lại trạng thái của cửa sổ con.Vậy chúng ta có thể tạo một thành phần điều khiển dạng cửa sổ con hay còn gọi làchild window control. Cửa sổ con có nhiệm vụ xử lý các thông điệp như bànphím, thông điệp chuột và thông báo cho cửa sổ cha khi trạng thái của cửa sổ conthay đổi. Như vậy cửa sổ con trở thành công cụ giao tiếp (cho phép nhập và xuất)giữa người dùng với chương trình.Tuy chúng ta có thể tạo ra một cửa sổ con cho chính mình, nhưng chúng ta nên tậndụng các lớp cửa sổ con đã được Windows định nghĩa sẵn hay còn gọi là nhữngkiểu điều khiển chuẩn. Những kiểu điều khiển chuẩn này thường là các nút bấm(button), hộp kiểm tra (check box), hộp soạn thảo (edit box), hộp danh sách (listbox), combo box, các thanh cuộn và chuỗi chữ. Ví dụ muốn tạo ra một nút bấm ởtrên màn hình chỉ cần gọi hàm CreateWindows, mà chẳng cần phải quan tâm đếncách vẽ, cách nhận chuột hay là chớp khi bị kích hoạt. Tất cả điều này đều doWindows xử lý. Điều quan trọng làphải chặn thông điệp WM_COMMAND củacác điều khiển để xử lý thông điệp này theo những mục đích khác nhau.Các kiểu điều khiển con thường được dùng trong hộp thoại. Như đã minh họatrong chương 2, ở đó các điều khiển nhận hộp thoại làm cửa sổ cha. Tuy nhiên,cũng có thể tạo các kiểu điều khiển con trực tiếp trên vùng cửa sổ chính, bằngcách gọi hàm CreateWindow và điều chỉnh vị trí cùng với kích thước của nó chothích hợp bằng hàm MoveWindow. Thủ tục xử lý thông điệp của cửa sổ cha gửicác thông điệp đến các khiểu điều khiển con, và ngược lại các child windowcontrol gởi các thông điệp để yêu cầu cửa sổ cha xử lý các thông điệp đó.Để tạo một cửa sổ ứng dụng bình thường. Đầu tiên phải đăng ký lớp cửa sổ bằnghàm RegisterClass. Tiếp theo là khởi tạo lớp đã đăng ký thông qua hàmCreateWindow. Còn trường hợp muốn tạo một lớp đã được định nghĩa sẵn thìkhông cần đăng ký cho lớp cửa sổ con muốn tạo.Sử dụng các kiểu điều khiển trực tiếp trên cửa sổ chính đòi hỏi các tác vụ cấp thấphơn so với dùng các kiểu điều khiển trên hộp thoại. Và các kiểu điều khiển tạo ratrên cửa sổ chính không có hỗ trợ các tiện ích. Ví dụ như chúng ta không thể sửdụng phím bấm tab để chuyển focus giữa các kiểu điều khiển với nhau.LỚP BUTTONĐể tìm hiểu các kiểu điều khiển, xem xét ví dụ 3.1 sau. Trong ví dụ này đã tạo ra 9cửa sổ con chuẩn trên một cửa sổ cha như hình 3.1.Nhấp chuột vào các nút, lúc đó các nút sẽ gởi thông điệp WM_COMMAND đếnthủ tục xử lý thông điệp WndProc của cửa sổ cha. Thủ tục WndProc xử lý và inra màn hình các thông số lParam và wParam của thông điệp gởi tới này.Trong đólParam là handle của cửa sổ con gởi thông điệp đến cửa sổ cha. wParam có haiphần LOWORD và HIWORD, LOWORD cho biết ID của cửa sổ con,HIWORD là mã thông báo. Mã thông báo nút bấm là một trong những giá trị sau. Định danh mã thông báo Button Giá trị BN_CLICKED 0 BN_PAINT 1 BN_HILETE hay BN_PUSHED 2 BN_UNHILITE hay 3 BN_UNPHUSHED BN_DISABLE 4 BN_DOUBLECLICKED hay 5 BN_DBCLICK BN_SETFOCUS 6 BN_KILLFOCUS 7 Bảng Định danh mã thông báo ButtonKhông bao giờ thấy được các giá trị của nút bấm, chỉ biết rằng giá trị từ 1 đến 4dành cho kiểu button BS_USERBUTTON, giá trị 5 dành cho kiểuBS_RADIOBUTTON, BS_AUTORADIOBUTTON, BS_OWNEDRAW, haycác nút bấm khác nếu nút bấm đó bao gồm kiểu BS_NOTYFY. G ...

Tài liệu được xem nhiều: