FMX.Printer.TPrinterDevice.ActiveDPIIndex
Delphi
property ActiveDPIIndex: Integer read FActiveDPIIndex write SetActiveDPIIndex;
C++
__property int ActiveDPIIndex = {read=FActiveDPIIndex, write=SetActiveDPIIndex, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | FMX.Printer.pas FMX.Printer.hpp |
FMX.Printer | TPrinterDevice |
説明
このプリンタ デバイスで使われている現在の DPI のインデックスを示します。
印刷のためにプリンタ デバイスを使用する際には、その前に必ず ActiveDPIIndex を設定しなければなりません。ActiveDPIIndex を値 -1 に設定すると、最後に選択された DPI が使用されます。アプリケーション開始時点での最終選択 DPI は、システムが提供するデフォルトの DPI です。一部のプラットフォーム API は、プリンタ デバイスのデフォルト DPI へのクエリの際にうまく動作せず、そのため、ActiveDPIIndex に - 1 を指定してデフォルト DPI を設定することができるのは、アプリケーション開始時のみとなる場合があります。この場合の問題は、一部のプラットフォームでは、API からのクエリが不可能であるため、Canvas のサイズが、対応するデフォルトの DPI に適合しない点です。
汎用的かつ最善の方法は、常に印刷する前に DPI を設定することでしょう。ActiveDPIIndex を -1 に手動で設定した場合、DPI プロパティは (0, 0)
を返します。アクティブ プリンタ デバイスの ActiveDPIIndex へ新しい値を設定しようとすると、印刷はエラーを起こします。