TAILIEUCHUNG - Hướng dẫn thực hành Lập trình C trên Windows - SỬ DỤNG KỸ THUẬT DEVICE CONTEXT ẢO

Nếu thực hiện nhiều thao tác vẽ trực tiếp trên device context của màn hình thì sẽ bị tình trạng màn hình bị “giật”. Khi sử dụng kỹ thuật MemDC có thể hạn chế được hiện tượng “giật” màn hình: Trước tiên cần tạo ra 1 device context ảo trong bộ nhớ tương thích với device context thật sự cần xử lý. Sau đó, tất cả mọi thao tác vẽ sẽ được thực hiện trên dc ảo này thay vì thực hiện trực tiếp trên dc thật. Cuối cùng chép nội dung của dc ảo vào dc thật. Xem như. | Hướng dẫn thực hành Lập trình C trên Windows SỬ DỤNG KỸ THUẬT DEVICE CONTEXT ẢO 1 Mục đích Sử dụng kỹ thuật MemDC. Thao tác trên ảnh bitmap. 2 Kỹ thuật MemDC Ý tưởng chính Nếu thực hiện nhiều thao tác vẽ trực tiếp trên device context của màn hình thì sẽ bị tình trạng màn hình bị giật . Khi sử dụng kỹ thuật MemDC có thể hạn chế được hiện tượng giật màn hình Trước tiên cần tạo ra 1 device context ảo trong bộ nhớ tương thích với device context thật sự cần xử lý. Sau đó tất cả mọi thao tác vẽ sẽ được thực hiện trên dc ảo này thay vì thực hiện trực tiếp trên dc thật. Cuối cùng chép nội dung của dc ảo vào dc thật. Xem như chỉ thao tác trực tiếp trên device context thật. Khai báo bi ến Khai báo bổ sung biến thành phần trong lớp CxxxView trong file CDC m_MemDC CBitmap m_MemBitmap m_pOldBitmap Các hàm xử lý Tạo MemDC Cần phải tạo ra memdc trước khi sử dụng. Tạo hàm OnCreate ứng với sự kiện WM_CREATE của lớp CxxxView int CxxxView OnCreate LPCREATESTRUCT lpCreateStruct if CView OnCreate lpCreateStruct -1 return -1 TODO Add your specialized creation code here Lấy dc của màn hình CClientDC dc this Lấy kích thước màn hình. int MaxX GetSystemMetrics SM_CXSCREEN int MaxY GetSystemMetrics sm_CYSCREEn Tạo ra m_MemDC tương thích với dc của màn hình dc 1 Hướng dẫn thực hành Lập trình C trên Windows Tạo ra 1 đối tượng CBitmap kích thước MaxX X MaxY tương thích với dc màn hình dc MaxX MaxY Đưa đối tượng bitmap m_MemBitmap vào m_MemDC m_pOldBitmap m_MemBitmap return 0 Hủy MemDC Cần hủy MemDC sau khi sử dụng xong. Trong hàm destructor của lớp CxxxView bổ sung các hàm hủy đối tượng MemDC và MemBitmap CxxxView CxxxView m_Obj Sử dụng MemDC Có thể viết code trong hàm OnDraw để sử dụng MemDC như sau void CxxxView OnDraw CDC pDC CVD4Doc pDoc GetDocument ASSERT_VaLiD pDoc TODO add draw code for native data here CRect .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.