2009-11-06 92 views
0

是否可以通過編程方式設置應用程序的DPI,還是隻能通過系統偏好設置DPI?是否可以以編程方式設置應用程序的DPI?

注意:我的應用程序的GUI以MFC和.NET形式編碼。

更新: 經過一番研究,我發現沒有辦法做到這一點,所以我必須同意這裏唯一的答案;它不能完成。

+4

真正的DPI取決於輸出設備(屏幕,打印機等),所以它應該設置在輸出驅動器級別。它不會使* sense *以每個應用程序爲基礎進行設置。 – Quentin 2009-11-06 13:47:52

+0

@大衛其實它確實有道理。它運行在帶有觸摸屏的設備上,並使其更加友好。我希望將所有事情都做得更大(儘可能減少努力)。然而,我確實希望保持系統DPI完好無損,適用於Windows和其他應用程序。 – 2009-11-06 13:53:32

+0

不,它沒有意義,DPI不是每個應用程序設置或甚至應用程序級別的概念。您將需要手動增加所有控件的大小。 – Roel 2009-11-06 14:54:49

回答

1

假設您正在討論確定物理DPI設置(取決於物理屏幕+分辨率)之間的比率的Windows系統範圍設置,最簡單的答案是「您不能」不在WinForms應用程序的應用程序級別。

可以做什麼,是添加縮放代碼到你的表格,參見this StackOverflow條目。基本上,將AutoScaleMode設置爲ScaleMode.Dpi。有關更多信息,請參閱其他條目。

+0

我試圖達到系統範圍的設置具有相同的效果,但只在我的應用程序。換句話說,我想讓Windows自動擴展我的應用程序,但我希望應用程序提供DPI。 – 2009-11-06 14:13:06

相關問題