如題
Delphi Gdi+ 繪圖,如何不受系統Dpi值的影響?
讓我的繪制效果市值固定在DPI = 96的狀態。
現在系統一旦設定成125% 150%,繪制的效果也發生了變化。
最后祝大家新年快樂
uj5u.com熱心網友回復:
SetMapMode (hdc, MM_ISOTROPIC); // 設定映像模式uj5u.com熱心網友回復:
謝謝 這個好像是GDI的方法吧?
其實我更需要類似這樣子問題的答案
你好, 很高興看到你這篇文章,本人最近寫了一個VC對話框程式,在win7上面默認96dpi的時候顯示好好的,,但是將dpi改成120的時候很多視窗和控制元件都顯示得很難看,,我用了你介紹的方法,就是在應用程式啟動的時候呼叫SetProcessDPIAware()防止UI自動放大, 但是沒效果,,還是跟原來一樣,,顯示得很難看..我的目的就是想我的應用程式在dpi是120的情況下顯示的視窗和控制元件跟dpi是96一樣,,也就是雖然系統設定的dpi是120,,但是我想我的應用程式仍舊使用96的dpi去顯示,,不知道你有沒有什么好方法??如果有好方法請幫小弟一把吧,謝謝.
uj5u.com熱心網友回復:
自繪時所有呼叫GetDeviceCaps(DC, LOGPIXELY);GetDeviceCaps(DC, LOGPIXELX); 的地方強制改為96就不受系統影響。uj5u.com熱心網友回復:
老謝又出山了?uj5u.com熱心網友回復:
在FormCreate事件里加入:ScaleBy(96, CurrentDPI);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71330.html
上一篇:如何使用 Delphi RestClient 讀取流資料?
下一篇:如何撰寫dll用于tcpip通訊
