0
我正在開發一個帶有彈出窗口的文本編輯器組件。彈出窗口的寬度應該在設計時在我的組件的屬性編輯器中設置。如何在組件的屬性中使用DPI感知值?
如何將設置的寬度應用於屏幕分辨率?
如果我爲Width
輸入一個值,Delphi將該值存儲在.dfm文件中。還存儲了一個PixelsPerInch
值。如果我把一個寬度= 96,而我使用的是100%的Windows DPI設置,裏面的.DFM將存儲:
PixelsPerInch = 96
Width = 96
如果我改變我的Windows DPI設置現在右到150%,重新打開項目在德爾福,屬性編輯器顯示我的寬度。
我想有這也爲我的價值:
published
property PopupWidth: Integer read FPopupWidth write FPopupWidth;
...但德爾福不適用PixelsPerInch處理我的價值。
爲什麼不呢?我該如何執行這個?
- *「爲什麼不呢?」 * - 因爲編譯器無法瞭解你的心思。 - *「.. how ..」 - - 我想你應該在TCustomForm.ReadState中看到代碼。這也可能是相關的:http://docwiki.embarcadero.com/RADStudio/Seattle/en/Considerations_When_Dynamically_Resizing_Forms_and_Controls –
它也不會縮放不是像素數的其他整數值。它應該擴大這些嗎? –
@DavidHeffernan:是的,它應該擴展 - 這就是我想要的。我如何告訴德爾福擴展一個物業? – Tahtu