1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình lập trình C cho Winform- P14

4 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 320,38 KB

Nội dung

Giáo trình lập trình C cho Winform- P14: Các ứng dụng của Windows rất dễ sử dụng, nhưng rất khó đối với người đã tạo lập ra chúng. Để đạt được tính dễ dùng đòi hỏi người lập trình phải bỏ ra rất nhiều công sức để cài đặt.

bị Tuy nhiên, số thiết bị, font cài đặt thiết bị Ví dụ, máy in, font thiết bị cài sẵn thực thao tác in nhanh so với việc load bitmap ảnh từ máy tính DEFAULT_GUI_FONT Font giao diện đồ họa thiết lập mặc định OEM_FIXED_FONT Font chữ cố định, dựa ký tự OEM Ví dụ, máy IBM®, font OEM dựa ký tự IBM PC SYSTEM_FONT Font hệ thống Windows Được hệ điều hành dùng để trình bày thành phần giao diện tiêu đề, menu, nội dung văn hộp thoại thông điệp Các font hệ thống ln có sẵn cài hệ điều hành, font khác cần phải cài thêm tùy theo ứng dụng sau SYSTEM_FIXED_FONT Font Windows sử dụng font hệ thống phiên trước 3.0 Macro font định nghĩa sẵn Nạp: HGDIOBJ GetStockObject(int fnObject) ặ Nu thnh cụng, tr ã v handle font chữ Ngược lại, giá trị trả NULL Trong đó, kiểu HGDIOBJ HFONT, biến fnObject macro bảng • Gán số cho DC: HGDIOBJ SelectObject(HDC hDC, HGDIOBJ hGDIObj) Ỉ Trả handle font chữ vừa sử dụng trước, lỗi trả GDI_ERROR Hoặc gọn hơn, ta gọi : SelectObject(hDC.GetStockObject(fnObject)); DeleteObject (Đối tượng): để hủy Ví dụ: HFONT hfnt, hOldFont; hfnt = GetStockObject(ANSI_VAR_FONT); if (hOldFont = SelectObject(hdc, hfnt)) { Bài giảng: Lập trình C for Win .Trang 66/69 TextOut(hdc, 10, 50, "Sample ANSI_VAR_FONT text.", 26); SelectObject(hdc, hOldFont); } ™ Xác định kích thước font BOOL GetTextMetrics(HDC hdc, LPTEXTMETRIC lptm); typedef struct tagTEXTMETRIC // tm { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; BCHAR tmFirstChar; BCHAR tmLastChar; BCHAR tmDefaultChar; BCHAR tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; } TEXTMETRIC; Cấu trúc TEXTMETRIC gồm 20 thành phần, số thành phần quan trọng gồm: • tmHeight: Chiều cao ký tự tính pixel • tmInternalLeading: Vùng chứa dấu trọng âm • tmExternalLeading: Khơng gian dịng • tmAveCharWidth: Bề rộng trung bình ký tự • tmPitchAndFamily: Họ font (8 bit) Ví dụ: static int cxchar, cychar; Bài giảng: Lập trình C for Win .Trang 67/69 TEXTMETRIC tm; case WM_CREATE: { hdc = GetDC(hwnd); GetTextMetrics(hdc, &tm); cxchar=tm.tmInternalLeading+tm.tmExternal; cychar=tm.tmAveCharWidth; ReleaseDC(hwnd, hdc); return 0; } case WM_PAINT: { for(int i=0; i

Ngày đăng: 11/05/2021, 04:34