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; };
プロパティ¶
ID = コントロールID¶
コントロールIDを定義します。
ID = 001_000_00010;注釈
設定しなかったときは、自動的にハッシュ値から生成します。
FONT_KIND = フォント種類¶
フォントの種類を指定します。
FONT_KIND = "fnt32";
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.行間は割合指定はできません。
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]";