Danh mục

Tìm hiểu về cửa sổ ứng dụng

Số trang: 20      Loại file: pdf      Dung lượng: 408.07 KB      Lượt xem: 11      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong bài viết này, chúng ta sẽ xây dựng một chương trình với đầy đủ chức năng của một cửa sổ ứng dụng trên desktop.Tìm hiểu về cửa sổ, lớp cửa sổ:Trong một ứng dụng đồ họa 32-bit, cửa sổ (window) là một vùng hình chữ nhật trên màn hình, nơi mà ứng dụng có thể hiện thị thông tin và nhận thông tin vào từ người dùng (users). Do vậy, nhiệm vụ đầu tiên của một ứng dụng đồ họa 32-bit là tạo một cửa sổ....
Nội dung trích xuất từ tài liệu:
Tìm hiểu về cửa sổ ứng dụngIczelion’s Tutorial Win32 ASM Tutorial 3 : A Simple Window Tìm hiểu về cửa sổ ứng dụng Trong bài viết này, chúng ta sẽ xây dựng một chương trình với đầy đủ chức năngcủa một cửa sổ ứng dụng trên desktop.Tìm hiểu về cửa sổ, lớp cửa sổ Trong một ứng dụng đồ họa 32-bit, cửa sổ (window) là một vùng hình chữ nhậttrên màn hình, nơi mà ứng dụng có thể hiện thị thông tin và nhận thông tin vào từ ngườidùng (users). Do vậy, nhiệm vụ đầu tiên của một ứng dụng đồ họa 32-bit là tạo một cửasổ. Một cửa sổ sẽ chia sẻ màn hình với các cửa sổ khác trong cùng một ứng dụng hayvới các ứng dụng khác. Chỉ một cửa sổ trong một thời điểm nhận được thông tin nhập từngười dùng thông qua bàn phím, thiết bị chuột hay các thiết bị nhập liệu khác để tươngtác với cửa sổ và ứng dụng. Tất cả các cửa sổ đều đựơc tạo từ một cấu trúc được cung cấp sẵn gọi là lớp cửa sổ(window class). Cấu trúc này là một tập hợp các mô tả các thuộc tính mà hệ thống dùngnhư khuôn mẫu để tạo nên các cửa sổ. Mỗi một cửa sổ phải là thành viên của một lớp cửasổ. Tất cả các lớp cửa sổ này đều được xử lý riêng biệt.Người dịch: Benina (REA TEAM) Trang 1Tổng hợp và hiệu chỉnh: NhatPhuongLe (VNCERT TEAM)Iczelion’s Tutorial Win32 ASM Tutorial 3 : A Simple Window Các chương trình trên Windows thường sử dụng các API để thiết kế giao diện(GUI) cho chúng. Bằng cách này, nó có lợi cho cả người sử dụng và cả lập trình viên. Đốivới người sử dụng, họ không cần phải tìm hiểu làm thế nào để sử dụng giao diện đồ họacho mỗi chương trình mới, giao diện của các chương trình là tương tự nhau. Đối với cáclập trình viên, mã lệnh để tạo nên giao diện chương trình đã sẵn, được test và sẵn sàngcho việc sử dụng. Nhưng mặt khác, việc giao diện được thiết kế sẵn theo khuôn mẫu củaHĐH sẽ làm tăng thêm sự tạp trong việc các lập trình muốn cài đặt hay thao tác trên cácđối tượng bất kỳ của giao diện như là hộp thoại , menus, icons, … vì họ phải tuân theomột nguyên tắc chính xác, nhưng điều này có thể khắc phục bằng cách lập trình theo đơnthể hoặc theo hướng đối tượng (OOP).Tôi sẽ phát thảo những bước cần thiết để xây dựng cửa sổ ứng dụng trên desktop: 1. Lấy handle của thể hiện – chính là bản thân ứng dụng  Handle là một số nguyên không dấu 32bit do HĐH tạo ra để làm định danh cho mỗi đối tượng.  Còn lý do tại sao phải xin HĐH cấp một handle và vì sao gọi là instance handle (handle của thể hiện). Vì Windows là HĐH đa nhiệm, có thể có nhiều bản của cùng một chương trình cùng chạy vào cùng một thời điểm nên phải cần phải có 1 handle của chương trình ngay lúc chúng đang được active (nghĩa là đang được thao tác). Ngoài ra, để quản lý chặt chẽ hơn, HĐH còn có khái niệm hPrevinst là chỉ số của bản đã được khởi động trước đó và chúng luôn có giá trị NULL 2. Lấy địa chỉ của xâu ký tự các đối số dòng lệnh (command line), không cần thiết trừ khi chương trình thực hiện bằng dòng lệnh) 3. Định nghĩa lớp cửa sổ và đăng ký nó với HĐH (trừ khi bạn dùng loại cửa sổ đã được HĐH định nghĩa trước như MessageBox hay Dialogbox). 4. Tạo lập cửa sổ làm việc cho ứng dụng. 5. Hiển thị cửa sổ trên desktop (trừ khi bạn không muốn hiển thị cửa sổ ngay) 6. Luôn luôn vẽ (paint) và vẽ lại (repaint) vùng client của cửa sổ Hiểu như thế nào là vẽ và vẽ lại? Có nghĩa là người dùng có thể di chuyển cửaa sổ của một hay nhiều chương trình khác trên màn hình và sự di chuyển sẽ che một phần cửa sổ của ứng dụng. HĐH sẽ không lưu phần cửa sổ mà bị chương trình khác che. Khi cửa sổ bị/được di chuyển, HĐH sẽ gửi yêu cầu vẽ lại vùng client của cửa sổ.Người dịch: Benina (REA TEAM) Trang 2Tổng hợp và hiệu chỉnh: NhatPhuongLe (VNCERT TEAM)Iczelion’s Tutorial Win32 ASM Tutorial 3 : A Simple Window 7. Nhận và xử lý thông điệp thông qua vòng lặp thông điệp. Chúng ta xét qua lược đồ quản lý sự kiện và thông điệp của HĐH : Trình tự xử lý thông điệp được mô tả như sau:  Nhận một thông điệp thông qua hàm API GetMessage() từ hàng đợi thông điệp của ứng dụng. Ngoại trừ thông điệp WM_QUIT, mỗi thông điệp sẽ trả về cho hàm GetMessage() một thông số khác 0 (TRUE). Khi nhận thông điệp WM_QUIT thì chương trình sẽ thoát khỏi vòng lặp và chấm dứt hoạt động chương trình. Hàm GetMessage() này nhận vào 4 tham số đầu vào trong đó tham số thứ 1 quan trọng là con trỏ trỏ về một cấu trúc kiểu MSG.  Sau đó, giải mã thông điệp này thông qua hàm API TranslateMessage(). Hàm này sẽ gọi trình điều khiển bàn phím (Keyboard driver) để chuyển đổi những thông điệp từ bàn phím do người dùng gõ ...

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

Gợi ý tài liệu liên quan: