MESCIUS MultiRow for Windows Forms 12.0J
GDI+互換モード

セルは、GDIとGDI+の両方による文字列描画をサポートしています。既定の設定では、GDIが使用されます。CellStyle.UseCompatibleTextRenderingプロパティをTrueに設定すると、GDI+が使用されます。このプロパティの動作は、.NET Framework 2.0以降のLabelコントロールやButtonコントロールと同じです。
ここでは、CellStyle.UseCompatibleTextRenderingプロパティの値がTrueの状態を「GDI+互換モード」として解説します。
セル型がスタイルのGDI+互換モードをサポートしているかどうかは、各セル型の「スタイル」を参照してください。
  • GDIとGDI+の差異により、GDI+互換モードを有効にするといくつかの制限事項が生じます。詳細はこのページの「制限事項」を参照してください。

GDI+互換モードの設定
GDI+互換モードを有効にするには、CellStyle.UseCompatibleTextRenderingプロパティをTrueに設定します。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Rows(0).Cells(0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).Value = "GDI+互換モード"
using GrapeCity.Win.MultiRow;

gcMultiRow1.Rows[0].Cells[0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].Value = "GDI+互換モード";
テキストの均等割付
GDI+互換モードが有効のとき、テキストの均等割付を使用できます。
均等割付の左右のスペースを指定するには、パディングか均等配分の一方または両方を併用できます。Excelと異なり、インデントは均等割付には適用されません。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Rows(0).Cells(0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).Style.TextAdjustment = TextAdjustment.Distribute
GcMultiRow1.Rows(0).Cells(0).Value = "北海道"
using GrapeCity.Win.MultiRow;

gcMultiRow1.Rows[0].Cells[0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].Style.TextAdjustment = TextAdjustment.Distribute;
gcMultiRow1.Rows[0].Cells[0].Value = "北海道";
テキストの回転
GDI+互換モードが有効のとき、テキストの回転を使用できます。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Rows(0).Cells(0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).Style.TextAngle = 45.0F
GcMultiRow1.Rows(0).Cells(0).Value = "京都"
using GrapeCity.Win.MultiRow;

gcMultiRow1.Rows[0].Cells[0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].Style.TextAngle = 45f;
gcMultiRow1.Rows[0].Cells[0].Value = "京都";
テキストの縦書き
GDI+互換モードが有効のとき、テキストの縦書きを使用できます。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Rows(0).Cells(0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).Style.TextVertical = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).VerticalResize(50)
GcMultiRow1.Rows(0).Cells(0).Value = "JR山手線"
using GrapeCity.Win.MultiRow;

gcMultiRow1.Rows[0].Cells[0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].Style.TextVertical = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].VerticalResize(50);
gcMultiRow1.Rows[0].Cells[0].Value = "JR山手線";

縦書きでは、シフト JISの半角英数や半角カタカナに相当する文字は回転して横書きされます。これらの文字を縦書きする場合は、対応する全角文字を使用してください。

Imports GrapeCity.Win.MultiRow

GcMultiRow1.Rows(0).Cells(0).Style.UseCompatibleTextRendering = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).Style.TextVertical = MultiRowTriState.True
GcMultiRow1.Rows(0).Cells(0).VerticalResize(50)
GcMultiRow1.Rows(0).Cells(0).Value = "JR山手線"
using GrapeCity.Win.MultiRow;

gcMultiRow1.Rows[0].Cells[0].Style.UseCompatibleTextRendering = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].Style.TextVertical = MultiRowTriState.True;
gcMultiRow1.Rows[0].Cells[0].VerticalResize(50);
gcMultiRow1.Rows[0].Cells[0].Value = "JR山手線";
GDI+設定時のリマインダ機能

GDI+を設定するために対象のプロパティを変更した場合、「GDI+プロパティ確認」ダイアログを表示してGDI+が有効になる設定を自動で行うことができます。

「GDI+プロパティ確認」ダイアログを表示する条件は次のとおりです。

プロパティ ダイアログ表示 ダイアログ非表示
TextVertical True InheritまたはFalse
TextAdjustment InheritまたはNear以外 InheritまたはNear
LineAdjustment DistributeまたはDistributeWithSpace InheritまたはNone
TextAngle NaN以外 Nanまたは0
制限事項
  • GDI+互換モードが有効のとき、編集中のセルとそうでないセルとの間で文字の間隔や位置が異なる場合があります。これはGDIとGDI+との差異によるものです。
    Web サイト Microsoft 社サポート オンライン 文書番号:307208 Why text appears different when drawn with GDIPlus versus GDI http://support.microsoft.com/kb/307208/
  • GDI+互換モードが有効のとき、セルのフォントにMicrosoft Sans Serifを指定すると、非編集時に半角円記号がバックスラッシュとして表示されます。
  • GDI+互換モードが有効のとき、ワードラップを有効にすると空白文字が表示されない場合があります。
  • GDI+互換モードが有効のとき、全角ハイフンが表示されない場合があります。これはGDI+の仕様によるものです。
    この問題は、2008年11月に同社より修正プログラムが公開されました。
    Web サイト Microsoft 社サポート オンライン 文書番号:956807 Windows Server 2008、Windows Vista、Windows Server 2003、および Windows XP で GDI+ API 関数を使用するアプリケーションを使用すると、Unicode ハイフン文字 (U+2010) が描画されない http://support.microsoft.com/kb/956807/ja
  • GDI+互換モードが有効のとき、タブ文字(タブストップ)は表示されません。これはMultiRowの実装による制限です。
  • GDI+互換モードが有効のとき、Unicodeの結合文字および制御文字は正しく表示されません。
    (例:"\u0041\u0301\u304b\u3099\u304b\u309a", "\u202e正大光明\u202c")
  • GDI+互換モードが有効のとき、同じ文字が連続している場合に文字幅が不正になる場合があります。
    (例:"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj")
  • GDI+互換モードが有効のとき、環境依存文字を正しく描画できません。詳細は、「環境依存文字を表示できない」を参照してください。
   
関連トピック

 

 


© MESCIUS inc. All rights reserved.