Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
212,74 KB
Nội dung
BÀI Q QUẢN LÝ MÀN HÌNH VÀ CỬA SỔ ThS Chử Đức Hoàng v2.0013107225 MỤC TIÊU Người học sau học xong có khai niệm vấn đề sau: • Chọn kiểu hình văn • Đặt màu chữ • Xây dựng sử dụng cửa sổ v2.0013107225 8.1 CHỌN KIỂU MÀN HÌNH VĂN BẢN Hàm textmode: cho phép định dạng màu sắc hình Cú pháp: void textmode(int mode) Ký hiệu Giá trị Mode video Lastmode -1 Mode trước BW40 Đen trắng 40 cột C40 16 màu, 40 cột BW80 Đen trắng 80 cột C80 16 màu, 80 cột MONO Đơn sắc, 80 cột Chú ý: • Phải sử dụng thêm hàm conio.h để lấy thư viện hình ảnh; • Màn hình ln có 25 hàng v2.0013107225 8.1 CHỌN KIỂU MÀN HÌNH VĂN BẢN (tiếp theo) Ví Dụ 1: • textmode(C40) cho hình gồm: 25 hàng 40 cột 16 màu Ví Dụ 2: • te textmode(C80) t ode(C80) ccho o hình gồ gồm: 25 hàng 80 cột 16 màu Chú ý: Màn hình đánh tọa độ, góc bên trái có tọa độ 1,1 Góc bên phải có tọa độ 40,25 80,25 v2.0013107225 8.2 ĐẶT MÀU NỀN VÀ MÀU CHỮ • Màu màu chữ điều chỉnh thông qua lệnh sau: void textbackground(int color); void textcolor(int color); • color biến integer có giá trị từ đến 15 với ý nghĩa thể bảng bên • Tùy theo giá trị mà giá trị màu chữ màu gán Với giá trị >=8 gán cho màu chữ Cịn giá trị =xt yd>=yt Giá trị tham số phải nằm giới hạn hiển thị sổ ổ cửa v2.0013107225 8.3 XÂY DỰNG CỬA SỔ VÀ SỬ DỤNG CỬA SỔ (tiếp theo) Ví Dụ: textbackground(RED) windows(5,5,35,20) windows(5 35 20) • Tọa độ bên trái 5,5 ọ độ ộ bên p phải 35,20 , • Tọa • Nền cửa sổ màu đỏ trước chưa hiển thị Muốn chắn mầu đỏ, ta cần phải xóa hình trước điều chỉnh màu thông qua lệnh: void clrscr(void); v2.0013107225 8.3 XÂY DỰNG CỬA SỔ VÀ SỬ DỤNG CỬA SỔ (tiếp theo) Ví Dụ 2: xây dựng chương trình hiển thị hình • Sử dụng hình 16 màu, 80 cột hiển thị dịng chữ sau • Chuc mung nam moi : màu vàng • Happy new year: màu trắng ắ • Cửa sổ kích thước trọn hình • Cửa sổ màu đỏ đỏ v2.0013107225 8.4 CÁC HÀM CPRINTF, CSCANF • Hàm cprintf, cscanf dùng để nhập liệu từ bàn phím đưa kết hình ì • Màu ký tự lấy giá trị thiết lập gần • Khi dùng hàm cscanf, cscanf bấm sai khơng dùng phím chức printf có p phạm vi làm việc ệ toàn ộ cửa sổ hình,, có • Hàm p thể xảy tượng tràn liệu hiển thị Trong đó, hàm cprintf có phạm vi hiển thị cửa sổ khai báo Nếu thơng tin q dài bị thơng tin hiển thị v2.0013107225 8.5 CÁC HÀM KHÁC • Hàm xóa hình: Cú pháp: void clrscr(void); Chức năng: ệ Xóa cửa sổ Đưa trỏ lên góc bên trái Màu xác định hàm textbackground 10 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm xóa ó dịng: ị Cú pháp: void clreol(void); Chức năng: Xóa ký tự đứng sau trỏ đến cuối dịng Khơng thay đổi vị trí trỏ 11 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm xóa dịng cửa sổ: Cú pháp: void delline(void); ( ); Chức năng: g cửa sổ g chứa trỏ Xóa dịng Khơng thay đổi vị trí trỏ 12 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm di chuyển y trỏ: Cú pháp: void gotoxy(int x, int y); Chức năng: Chạy đến vị trí x,y cửa sổ Thay đổi vị trí trỏ 13 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm Hà lấy lấ tọa t độ ngang ủ trỏ: tỏ Cú pháp: int wherex(void); Chức năng: Cho vị trí ngang trỏ cửa sổ hành Giá trị trả kiểu int g thayy đổi vịị trí trỏ Khơng 14 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm lấy ấ tọa độ ộ dọc ủ trỏ: ỏ Cú pháp: int wherey(void); Chức năng: Cho vị trí dọc trỏ cửa sổ hành Giá trị trả kiểu int 15 v2.0013107225 8.5 CÁC HÀM KHÁC (tiếp theo) • Hàm lấy ấ thơng tin hiển ể thị văn ă bản: ả Cú pháp: void gettextinfo(struct text_info text info *r); Chức năng: r: trỏ tới địa text_info text info Gửi thông tin liên quan đến kiểu hiển thị hình văn sử dụng vào thành phần biến cấu trúc 16 v2.0013107225 TÓM LƯỢC CUỐI BÀI • Bài cho h phép ta t biết cách h quản ả lý hình hì h cửa sổ ổ với ới nhiều hiề lệnh lệ h đặc đặ trưng C • Có thể có nhiều cửa số thiết lập hình, để tránh trường hợp hiển thị đè lên nhau, lên tách biệt cửa sổ với xóa hình trước hiển thị • Có số cách để ể xóa thơng tin hiển ể thị xóa hình, xóa dịng xóa phần dịng • Có thể lấy thơng tin tọa độ x, x y trỏ thông tin hiển thị khác 17 v2.0013107225