コントロールのサイズに合わせてフォントサイズを自動的に縮小する方法は?

文書番号 : 37848     文書種別 : 使用方法     登録日 : 2015/03/12     最終更新日 : 2016/07/11
文書を印刷する
対象製品
ActiveReports for .NET 9.0J
詳細
ページレポートのTextBoxコントロールや、セクションレポートのTextBox・Labelコントロールでは、ShrinkToFitプロパティを"True"に設定することで、コントロールのサイズにあわせて自動的に文字列を縮小させることが可能です。

製品ヘルプの以下のトピックをご覧ください。

ActiveReportsユーザーガイド
 - 概念
  - ShrinkToFitの使用

なお、ShrinkToFitプロパティには、以下のような制限事項・注意点があります。
  1. CanGrow/CanShrinkプロパティの設定は無視されます
    ShrinkToFitプロパティをTrueに設定した場合、CanGrow/CanShrinkプロパティの設定は無視されます。(CanGrow/CanShrinkプロパティは、セクションレポート限定のプロパティです。)

    これは、ShrinkToFitプロパティがコントロールのサイズにあわせてフォントサイズを変更するための機能であるのに対し、CanGrow/CanShrinkプロパティは文字列にあわせてコントロールのサイズ自体を調整するための機能であるためです。

    ShrinkToFitプロパティがTrueに設定されている場合、こちらの設定が優先されます。

  2. 縦書きのテキストには対応していません
    VerticalTextプロパティ(セクションレポート)やWritingModeプロパティ(ページレポート)を使用することで、文字列を縦書きに最適化した状態で描画することが可能です。

    しかしながら、ShrinkToFitプロパティは縦書きに対応していません。縦書きに設定したTextBox/LabelコントロールのShrinkToFitプロパティを"True"に設定しても、フォントサイズの自動縮小は行われません。

  3. MultiLineとWrapModeプロパティの設定に依存します
    ShrinkToFitプロパティをTrueに設定していても、MultiLineとWrapModeプロパティを以下のように設定している場合には、文字列全体が表示されない(フォントサイズが小さくならない)場合がございます。

    MultiLineプロパティ:False
    WrapModeプロパティ:WordWrap

    MultiLineプロパティを"False"に設定した場合、そのコントロールには1行しか出力されませんが、内部的にワードラップ(自動改行)動作が働いております。

    MultiLineプロパティを"False"に設定した場合、ワードラップ動作によって自動改行されて次の行に送られた文字列はレポート上には表示されず、文字列自体が存在しないものとして無視されます。そのため、自動改行されずにコントロール内に表示されている文字だけが ShrinkToFitプロパティによる自動縮小制御の対象となります。

    TextBox(Label)コントロールの WrapModeプロパティが"WordWrap"に設定されている場合は、"NoWrap"に設定してください。

  4. 縮小後の最小フォントサイズは、レポートの種類によって異なります
    ShrinkToFitプロパティによるフォントサイズの縮小は、基本的に0.5pt単位で行われ、最小のフォントサイズはレポートの種類によって異なります。

    セクションレポートの場合
    最小フォントサイズは2ptです。2ptより小さいサイズが設定されることはありません。

    フォントサイズを2ptに縮小されても文字列がコントロールに収まりきらない場合、収まりきらない部分は無視されます。(レポート上に描画されません。)

    ページレポート/RDLレポートの場合
    最小フォントサイズは1ptです。1ptより小さいサイズが設定されることはありません。

    フォントサイズを1ptに縮小されても文字列がコントロールに収まりきらない場合、収まりきらない部分は無視されます。(レポート上に描画されません。)

    なお、以下のような動作を実現する機能・インタフェースはございません。
    • 縮小後のフォントサイズを取得する。
    • フォントサイズの調整間隔を変更する。(例:0.1pt単位で縮小する)
    • 調整される最小フォントサイズを変更する。(例:5ptまでしか縮小しない)
関連情報
キーワード
HowTo デザイン・レイアウト