Tôi đang làm cho ứng dụng của tôi nhận thức dpi trên mỗi màn hình bằng cách đặt <dpiAware>True/PM</dpiAware>
trong tệp kê khai. Tôi có thể xác minh với quá trình thám hiểm rằng điều này thực sự là làm việc hoặc bằng cách gọi GetProcessDpiAwareness.Làm thế nào để bạn mở rộng thanh tiêu đề trên ứng dụng giành chiến thắng DPI?
Đây là tất cả hoạt động tốt và tôi có thể mở rộng bất cứ điều gì trong khu vực khách hàng tốt trong mã của tôi. Tuy nhiên, vấn đề duy nhất của tôi là nếu tôi kéo ứng dụng của mình từ màn hình hệ thống dpi sang màn hình không phải hệ thống dpi, thanh tiêu đề và bất kỳ menu hệ thống nào sẽ trở nên quá lớn hoặc quá nhỏ. Đây không phải là trường hợp đối với hầu hết các ứng dụng tích hợp (ví dụ: calc, trình duyệt cạnh, v.v.) do đó phải có để mở rộng ứng dụng đúng cách. Có ai làm thế nào các devs tại MS đã làm điều này?
Ảnh chụp màn hình bên dưới sẽ giải thích vấn đề của tôi tốt hơn. Cũng lưu ý, rằng phần đệm giữa nút đóng, tối và tối đa là khác nhau khi nó được thu nhỏ (96dpi).
Sample app Tôi gắn một ứng dụng rất đơn giản đó là mỗi màn dpi biết.
Mã trên mỗi màn hình của bạn trông như thế nào? Trình xử lý cho WM_DPICHANGED? –
Ứng dụng của bạn có phải là ứng dụng toàn cầu không? Cả hai máy tính và Edge là – melak47
@ melak47 Nó không phải là một ứng dụng toàn cầu. Đây là một ứng dụng cũ - chỉ muốn làm cho nó quy mô đúng trên tất cả các màn hình của tôi. Bạn có nghĩ rằng các cửa sổ sẽ mở rộng thanh tiêu đề nếu nó là một ứng dụng toàn cầu? – Dealdiane