Làm thế nào tôi có thể buộc một ứng dụng có tỷ lệ dpi cao?
Giả sử có một ứng dụng, những người phát triển biểu hiện nó là nhận thức cao, khi nó thực sự không. Làm thế nào tôi có thể buộc quy mô dpi?
Giả sử có một ứng dụng mà Microsoft đã áp dụng
HighDpiAware
shim "tương thích", khi ứng dụng thực sự không. Làm thế nào tôi có thể buộc quy mô dpi?
Làm cách nào tôi có thể buộc Windows áp dụng tỷ lệ dpi cho ứng dụng?
Chỉnh sửa: Tỷ lệ dpi cao là gì?
Không phải tất cả người dùng chạy Windows ở 96dpi. Không phải mọi nút được cho là 75x23 pixel, không phải mọi thanh công cụ đều cao 25 pixel và không phải mỗi glyph của treeview là 16x16. Nếu người dùng đã chọn một cài đặt dpi khác cho Windows, bạn cần chia tỷ lệ mọi thứ một cách thích hợp.
Vấn đề là hầu như không có nhà phát triển nào thực hiện công việc của họ bằng cách xử lý các cài đặt dpi cao độc đáo. Tốt nhất là mọi thứ sẽ giữ nguyên "cùng kích cỡ", điều đó có nghĩa là mọi sự xuất hiện nhỏ xíu . Tại các hình thức tồi tệ nhất được đặt không chính xác, với văn bản được cắt bớt, và các điều khiển không hiển thị.
Bắt đầu với Windows Vista và tận dụng sức mạnh của Thành phần máy tính để bàn, Microsoft đã từ bỏ các nhà phát triển thực hiện công việc của họ và giờ là nói dối với ứng dụng. Họ nói với các ứng dụng rằng người dùng đang chạy ở 96dpi. Windows sau đó sử dụng thẻ video và Thành phần máy tính để bàn, để mở rộng các biểu mẫu.
Pro: nội dung của biểu mẫu sẽ có kích thước dễ đọc.
Con: mọi thứ sẽ hơi mờ.
Tính năng "chia tỷ lệ cao" này chỉ hoạt động theo quyết định của người dùng và yêu cầu:
- Windows Vista hoặc mới hơn
- Thành phần máy tính để bàn được kích hoạt
- người dùng tắt "Sử dụng tỷ lệ kiểu Windows XP"
- người dùng không vô hiệu hóa tỷ lệ cho ứng dụng của bạn
Là một nhà phát triển, bạn có thể từ chối quy mô cao dpi; nếu bạn đã nỗ lực để viết ứng dụng của mình đúng cách và bạn biết rằng bạn sẽ xử lý đúng mức cao. Bạn chọn không tham gia mở rộng quy mô này bằng cách thêm một mục nhập bảng kê khai vào tệp thực thi của bạn, tuyên bố rằng bạn " nhận thức cao ".
Chủ đề về cách làm cho ứng dụng của bạn tôn trọng sở thích của người dùng (bao gồm mặt phông chữ, kích thước phông chữ và cài đặt dpi) là một câu hỏi dành cho stack overflow
. Như là cú pháp cho mục nhập bảng kê khai " nhận thức cao-dpi " của bạn.
Câu hỏi này , trên siêu người dùng , là làm thế nào để bỏ qua một nhà phát triển đi trước và thêm một mục nhập bảng kê khai nhận biết cao, trong khi thực tế, ứng dụng không nhận biết cao. Họ bảo Windows tắt tính năng mở rộng, nhưng họ không thực sự kiểm tra ứng dụng. Có một phần mềm ngoài đó với mục nhập bảng kê khai "nhận biết cao-dpi", và bây giờ ứng dụng không thể sử dụng được dưới "phông chữ lớn" (ví dụ: 120dpi).