- 題名: ページ設定ダイアログの余白値が指定と異なる値になる
- 日時: 2003/12/30 5:05:24
- ID: 1983
- この記事の返信元:
- (なし)
- この記事への返信:
- [1993] Re[1]: ページ設定ダイアログの余白値が指定と異なる値になる2003/12/31 5:06:18 [解決]
- [2055] Re[1]: ページ設定ダイアログの余白値が指定と異なる値になる2004/01/07 3:41:26
- ツリーを表示
■No1983に返信(こど。さんの記事) (自己です) .NETでのMarginsクラスは1/100インチ基準のIntegerでした。 見落としてました。すみません。=固定的にインチ系になるんですね。(しかもInteger) 結局、マージンを正確にサポートする場合、.NETの実装上のMarginsは常に0にして、 小数のまま維持できる自作ダイアログを用意して余白を入力して、 左上をずらすだけならTranslateTransform(単精度小数OK)、 右や下も細かくやるなら自前で全部計算してクリップを設定する とかやるということになるのでしょうか。 とりあえず、今は時間がないので、次回開く際には値をCloneで別インスタンスに バックアップして、2.54Fを掛けた値をセットしてから開くように逃げました。 もちろん端数落ちしていてきれいには戻らないのですが、ダイアログでOK押して 戻った時点で既に1/100インチのIntegerになっているので、どうにもなりません。 ちなみに・・・PageSetupDialogは「NotInheritable」でした。 暇がある時に設定ダイアログ作って、Margins使わないように直すしか・・・。 (一応解決?)
分類:[.NET]
(度々すみません・・・。)
PageSetupDialogにおいて、余白(mmと表示されている)を入力して、
ダイアログを閉じたところで余白値にアクセスしてみると、1/10インチ換算
の値が表示されるのですが。
余白を25.4とすると、100(=10インチ)となり、もう一度ダイアログを開く
とテキストボックスは10(あれ、今度はインチ?)となっています。
=ページ設定ダイアログを開く度に、余白が小さくなって(2.54で割られて)
行きます。
こういうものでしょうか。
決まってこう換算されるのであれば、ダイアログを開く前にミリ換算して代入
しておけば多少はごまかせる(割り切れなかったとかではずれるが。)のです
が、自分の環境だけで判断しても仕方ないので。他でも固定的にインチ(や、
1/10インチ)に換算されるものなのでしょうか。
(皆さん、問題なく動作しているのでしょうか?)