LOG¶
C#: CWinCtrlLog
チャットログのためのコントロールです。
コンテンツを複製し、それを一行とします。
リストボックスと違い、コンテンツの最大数が設定でき、それ以上のコンテンツを追加しようとしたとき、内部で循環(一番古いものが破棄されます)するようになっています。
LOGTEXT 以外のコントロールもコンテンツとして入れることができます。
このコントロールはスクロール可能なコントロールです。
STYLEに SCROLL_LOCK をつけておくと、onDragコールバックが呼び出され、ドラッグした方向を検出できます。 DRAGをつけても、これらコントロールには効果がないことに気を付けてください。
注釈
LOG 内の CONTENTS には、必ず一つの LOGTEXT を入れておく必要があります。
LOG(コントロール名) {
プロパティ1;
プロパティ2;
:
:
プロパティn;
};
記述例¶
LOG(Chat) { ID = 000_000_00030; STYLE = ANCHOR_LEFTBOTTOM; POSITION = 0,OFFSET_Y; SIZE = WINDOW_SIZE_FULL, 80-2; CONTENTS_SIZE = WINDOW_SIZE_FULL, 80-2; CONTENTS = { ICON(Chat) { : } TEXT(Name) { : } FRAME(Balloon) { : } LOGTEXT(Chat) { : } } COLOR = COLOR32(0,0,0,255); LINE_SPACE = 10; GROUP = SCROLLBAR(Chat); }; SCROLLBAR(Chat) { ID = 000_001_00001; STYLE = ANCHOR_RIGHTTOP; COLOR = 1,1,1,0.5; POSITION = -2,-5; SIZE = 0,-10; };
プロパティ¶
代表的なデフォルト値¶
COLOR = 1,1,1,1; CAPTION_COLOR = 1,1,1,1;
SIZE = 横幅,縦幅¶
リストボックスの表示領域を定義します。
表示領域をはみ出たコントロールは、クリッピングされます。
SIZE = {100} - 32,400; //display size CONTENTS_SIZE = 800,80; //one content sizeサイズは 割合指定 が可能です。
CONTENTS_SIZE = 横幅,縦幅¶
一行のサイズを決定します。 垂直方向に並んでいるリストボックスにおいては、縦方向にスクロールします。
ただし、コンテンツサイズの横幅のほうが表示エリアよりも大きいときは、左右にもスクロールします。
// only vertical direction to scroll SIZE = 400,400; //display size CONTENTS_SIZE = {100},40; //virtual screen size // Scroll to the left and right direction SIZE = 400,400; //display size CONTENTS_SIZE = {200},40; //virtual screen sizeコンテンツサイズは 割合指定 が可能です。
CONTENTS = { コントロール定義 … }¶
LOGの中の一行を定義するためのコンテンツを列挙します。
コントロールの座標は、LOGの座標から相対で配置されます。
全てのコントロールを関連付けることが可能です。
注釈
LOG 内の CONTENTS には、必ず一つの LOGTEXT を入れておく必要があります。
CONTENTS = { ICON(Chat) { : } TEXT(Name) { : } FRAME(Balloon) { : } LOGTEXT(Chat) { : }C#からコンテンツリストの特定のコントロールに対してアクセスする方法 は こちら を参考にしてください。
ただし、内部のコンテンツは循環リストになっているため、直接アクセスするのは危険です。 コンテンツに対するカスタマイズは、 :meth:`ログを追加<CWinCtrlLog.add>` したときに行ってください。
LINE_SPACE = 行間ピクセル値¶
行間をこのプロパティで設定可能です。
割合指定はできません。
LINE_SPACE = 8; //Put an 8-dot space.
GROUP = SCROLLBARコントロールID,…¶
SCROLLBARコントロールをGROUPとして定義しておくと、自動的にログと連動してスクロールバーを表示します。
CONTENTSに入れないように気を付けてください。
複数のスクロールバーを関連付けることも可能です。
GROUP = SCROLLBAR(Horizon),SCROLLBAR(Vertical);
COLOR = R,G,B,A¶
カラーを指定します。 カラー変更することによって、含まれるコントロール全てに影響を与えます。
R,G,Bについては、0~2の間で指定してください。
1を超えたとき、そのカラー成分を2倍まで上げて表示することができます。
Aについては、0~1の間で指定してください。
STYLE = フラグ0|フラグ1|..|フラグn¶
リストボックス固有のスタイルは以下のものがあります。
リストボックス制御フラグ |
説明 |
---|---|
NOBOUNCES |
端までスクロールしたとき、勢いが残っていても跳ね返らない |
SCROLL_UNLOCK |
リストボックスのスクロールを許可する。 |
SCROLL_LOCK |
リストボックスのスクロールを抑制する。 |
コントロールの表示アンカーを指定できます。
表示位置アンカーフラグ |
説明 |
---|---|
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 |
中心位置を右下に設定 |
機能を制限するスタイルは以下のものがあります。
機能制限スタイル |
説明 |
---|---|
HIDE |
表示を隠す。 |
DISABLE |
押せなくし、暗くする。 |
NOHIT |
押せなくする。 |
NOBOUNCES |
端までスクロールしたとき、勢いが残っていても跳ね返らない |
SCROLL_UNLOCK |
スクロールを許可する。 |
SCROLL_LOCK |
スクロールを抑制する。 |