RICHTEXT

C#: CWinCtrlRichText

リッチテキストを表示するためのコントロールです。

途中で文字色を変えたり、テクスチャを埋め込んだりすることが可能です。

RICHTEXT(コントロール名) {

プロパティ1;

プロパティ2;

:

:

プロパティn;

};

記述例

WINDOW(255_000_00001) {
  STYLE = NOTITLEBAR|ANCHOR_LEFT;
  POSITION = 0,100;
  SIZE = 512,256;
};

RICHTEXT(Message) {
  ID = 00_000_00010;
  POSITION = 0,-64;
  CAPTION = "\a[3]TESTabc\f[fn16]smallFont\t123[100_000_00001,ATTR1,32,32,0]" +
            "\a[4]\w[001_002_00003,click here!]";
  CONTENTS_SIZE = 380, 64;
};
_images/RICHTEXT.png

プロパティ

ID = コントロールID

コントロールIDを定義します。

ID = 001_000_00010;

注釈

設定しなかったときは、自動的にハッシュ値から生成します。

POSITION = X,Y

表示位置を決定します。 STYLEの アンカー 指定に応じて、基準位置が変わります。

POSITION = 32,{50} + 64;

座標は 割合指定 が可能です。

FONT_KIND = フォント種類

フォントの種類を指定します。

FONT_KIND = "fnt32";

CAPTION = キャプションID

文字列のIDを指定してください。

こちら を参照ください。

CAPTION = 010_000_00100;

CAPTION = "文字列"

文字列を設定します。

CAPTION = "Hellow world!";

リッチテキストのキャプションに コマンド を埋め込むことによって、様々な装飾が可能になっています。

CAPTION_COLOR = R,G,B,A

キャプションのカラーを指定できます。

0~1の間で指定してください。

CONTENTS_SIZE = 改行サイズ

文字列が改行サイズを超えたとき、そこから自動で改行をします。

CONTENTS_SIZE = 128;  //128pixel

CONTENTS_SIZE = {50} + 32;    // screen width * 0.5 + 32

改行サイズは 割合指定 が可能です。

LINE_SPACE = 行間ピクセル値

行間をこのプロパティで設定可能です。

LINE_SPACE = 8;       //Put an 8-dot space.

行間は割合指定はできません。

CAPTION_OFFSET = X,Y

キャプションの位置を移動することができます。

キャプションオフセットは 割合指定 が可能です。

STYLE = フラグ0|フラグ1|..|フラグn

コントロールの表示アンカーを指定できます。

表示位置アンカーフラグ

説明

ANCHOR_DEFAULT

アンカー位置を左上に設定

ANCHOR_LEFTTOPと同じ

コントロールの中心位置はデフォルトで、BASE_LEFTTOPになる。

ANCHOR_LEFTTOP

アンカー位置を左上に設定

コントロールの中心位置はデフォルトで、BASE_LEFTTOPになる。

ANCHOR_LEFT

アンカー位置を左に設定

縦にはセンタリング

コントロールの中心位置はデフォルトで、BASE_LEFTになる。

ANCHOR_LEFTBOTTOM

アンカー位置を左に設定

縦には下辺を基準に配置

コントロールの中心位置はデフォルトで、BASE_LEFTBOTTOMになる。

ANCHOR_TOP

アンカー位置を上辺に設定

横方向にはセンタリング

コントロールの中心位置はデフォルトで、BASE_TOPになる。

ANCHOR_CENTER

アンカー位置を画面中央にセンタリング

コントロールの中心位置はデフォルトで、BASE_CENTERになる。

ANCHOR_BOTTOM

アンカー位置を底辺に設定

横方向にはセンタリング

コントロールの中心位置はデフォルトで、BASE_BOTTOMになる。

ANCHOR_RIGHTTOP

アンカー位置を右上に設定

コントロールの中心位置はデフォルトで、BASE_RIGHTBOTTOMになる。

ANCHOR_RIGHT

アンカー位置を右に設定

縦にはセンタリング

コントロールの中心位置はデフォルトで、BASE_RIGHTになる。

ANCHOR_RIGHTBOTTOM

アンカー位置を右に設定

縦には下辺を基準に配置

コントロールの中心位置はデフォルトで、BASE_RIGHTBOTTOMになる。

コントロールの中心位置を指定できます。

中心位置変更フラグ

説明

BASE_DEFAULT

アンカーフラグに応じて変わる。

特に指定しなければ、これになります。

各アンカーフラグの説明を参照

BASE_LEFTTOP

中心位置をコントロールの左上に設定

BASE_LEFT

中心位置を左に設定

縦にはコントロールの真中

BASE_LEFTBOTTOM

中心位置を左下に設定

BASE_TOP

中心位置を上辺に設定

横にはコントロールの中心

BASE_CENTER

中心位置をコントロールの中心

BASE_BOTTOM

中心位置を底辺に設定

横方向にはコントロールの真中

BASE_RIGHTTOP

中心位置をコントロールの右上に設定

BASE_RIGHT

中心位置を右に設定

横にはコントロールの中心

BASE_RIGHTBOTTOM

中心位置を右下に設定

キャプションの中心位置を指定できます。

テキストアンカー

説明

TEXT_CENTER

テキスト表示を中心に合わせます。

TEXT_LEFT

テキスト表示を左に合わせます。

TEXT_RIGHT

テキスト表示を右に合わせます。

キャプションのフォント装飾を変更できます。

キャプション装飾種類

説明

TEXT_NORMAL

装飾なし

TEXT_BOLD

太字

TEXT_DENT

へこんだ感じの文字

TEXT_SHADOW

影付き文字

機能を制限するスタイルは以下のものがあります。

機能制限スタイル

説明

HIDE

表示を隠す。

DISABLE

押せなくし、暗くする。

NOHIT

押せなくする。

リッチテキストで使用可能なコントロールコード

リッチテキストのキャプションに コマンド を埋め込むことによって、様々な装飾が可能になっています。

例えば、途中にテクスチャを挟み込むには次のような文字列をキャプションに設定します。

"texture test\t[001_001_01000,icon0,32,32,0]\ndisplay test"

コマンド

説明

\n or \r

改行

\ \

\文字

\f[フォント名]

以降のフォントを指定したものに切り替える

\a[0] or \a[1]

横:左揃え 縦:上辺

\a[2]

横:左揃え 縦:中心

\a[3]

横:左揃え 縦:下辺

\a[4]

横:センタリング 縦:上辺

\a[5]

横:センタリング 縦:中心

\a[6]

横:センタリング 縦:下辺

\a[7]

横:右揃え 縦:上辺

\a[8]

横:右揃え 縦:中心

\a[9]

横:右揃え 縦:下辺

\c[0]

カラーを白色

\c[1]

カラーを水色

\c[2]

カラーを紫色

\c[3]

カラーを青色

\c[4]

カラーを黄色

\c[5]

カラーを緑色

\c[6]

カラーを赤色

\c[7]

カラーをピンク色

\c[8]

カラーをオレンジ色

\c[9]

カラーをスカイブルー

\c[10]

カラーを黒

\C[00000000] ~ \C[FFFFFFFF]

カラーを16進数(AARRGGBB)で指定

\wUserID[WindowID,キャプション]

指定したIDのウィンドウコマンドを発行する

\tUserID[テクスチャID,パーツID,横,縦,Yオフセット]

指定したテクスチャ内のパーツIDの パーツ を埋め込む。

\B or \b

ボールド

\N

装飾無

\aコマンドを使ったときに、右揃え、センタリング、左揃えのアンカーが変化したとき、自動的に改行します。

ウィンドウコマンド \w

指定されたキャプション文字列をタッチすると :meth:`CWindowBase.onClick(CWinCtrlRichText cCtrl,CRichTextOne cText)<CWindowBase.onClick>` が発生します。

次のようなフォーマットになっています。

\wUserID[WindowID,キャプション]

  • UserID: 整数で指定してください(省略可能です。デフォルトで0が設定されます)

  • WindowID: マルチIDで指定してください。

  • キャプション: 文字列を指定してください。この文字列を押すとコールバックが発生します。

CAPTION = "\a[4]\w123[001_002_00003,click here!]";

テクスチャコマンド \t

文字列の途中にテクスチャを埋め込めます。

テクスチャをタッチすると :meth:`CWindowBase.onClick(CWinCtrlRichText cCtrl,CRichTextOne cText)<CWindowBase.onClick>` が発生します。

次のようなフォーマットになっています。

\tUserID[テクスチャID,パーツID,横,縦,Yオフセット]

  • UserID: 整数で指定してください(省略可能です。デフォルトで0が設定されます)

  • テクスチャID: マルチIDで指定してください。

  • 横,縦: ピクセルサイズを指定してください。

  • Yオフセット: 表示するときのY方向へのオフセットです(省略可能です)。

CAPTION = "Texture test\t456[001_001_01000,icon0,32,32,0]";