cAlgo API リファレンス

TextBox【cAlgo API】

2021年1月16日

文字入力を受け付ける

cBotやインジケーターの実行中にユーザーから何か文字入力を受け付けたいときにはテキストボックスを利用できます。

 

TextBoxクラス

テキストボックスコントロールです。

public class TextBox : Control

例によってControlから継承されてます。

 

プロパティ
(string) Text {get; set;}

テキストを取得、設定します。

(TextAlignment) TextAlignment {get; set;}

テキストの揃え方法を取得、設定します。

(TextWrapping) TextWrapping {get; set;}

テキストの折り返し方法を取得、設定します。

(Color) BorderColor {get; set;}

枠線の色を取得、設定します。

(Thickness) BorderThickness {get; set;}

枠線の太さを取得、設定します。

(Color) CaretColor {get; set;}

キャレットの色を取得、設定します。

(CharacterCasing) CharacterCasing {get; set;}

入力できる文字が大文字か小文字かを取得、設定します。日本語を入力させる場合関係ないです。

(int) MaxLength {get; set;}

最大文字数を取得、設定します。

(int) MaxLines {get; set;}

最大行数を取得、設定します。

(int) MinLines {get; set;}

見えてる最小行数を取得、設定します。

(Color) SelectionColor {get; set;}

選択されてるテキストの色を取得、設定します。

(double) SelectionOpacity {get; set;}

選択されてるテキストの不透明度を取得、設定します。

(ScrollBarVisibility) VerticalScrollBarVisibility {get; set;}

縦方向スクロールバーの表示方式を取得、設定します。

(ScrollBarVisibility) HorizontalScrollBarVisibility {get; set;}

横方向スクロールバーの表示方式を取得、設定します。

(bool) IsReadOnly {get; set;}

読み取り専用かどうかを取得、設定します。

(bool) IsReadOnlyCaretVisible {get; set;}

読み取り専用でキャレットを表示するかどうかを取得、設定します。

(bool) AcceptsReturn {get; set;}

改行可能(エンターキーを受け付ける)かどうかを取得、設定します。

(bool) AcceptsTab {get; set;}

タブキーを受け付けるかどうかを取得、設定します。

 

イベント
TextChanged

テキストが変更された

 

サンプルコード
// textbox作成
var textBox = new TextBox {
    Text = "input here!",
    TextAlignment = TextAlignment.Center,
    TextWrapping = TextWrapping.Wrap,
    BorderColor = Color.Gold,
    BorderThickness = 3,
    CaretColor = Color.YellowGreen,
    CharacterCasing = CharacterCasing.Upper,
    MinLines = 5,
    SelectionColor = Color.PaleGreen,
    SelectionOpacity = 0.5,
    VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
    AcceptsReturn = true,
    AcceptsTab = false,
    Margin = 10,
    Height = 70,
    Width = 100,
    BackgroundColor = Color.Transparent
                
};
            
// 見た目確認用
var canvas = new Canvas();
var rect = new Rectangle {
    Height = 10,
    Width = 60,
    Margin = 30,
    FillColor = Color.Red,
};
canvas.AddChild(rect);

// チャート上に設置
canvas.AddChild(textBox);
Chart.AddControl(canvas);

見た目確認のため、普段設定しないような項目を片っ端から設定してます。普通に使うだけならもっとシンプルにできます。また、半透明の効果がわかりやすいように赤い四角形に重ねてます。

最初の表示。CharacterCasing.Upperでも初期表示は小文字で大丈夫。

適当に入力して選択してみたときの表示。勝手に大文字で入力されます。ちなみに日本語はCharacterCasingにかかわらず入力可能です。

設定した通り、スクロールバーが表示され、選択範囲は半透明の緑色になります。こんな設定そうそう使わなそうですけど。見た目の細かい設定よりも個人的には数字のみとか設定できる方がうれしいんですが・・・

 

 

TextChangedEventArgs

テキストボックスのテキストが変更されたときに呼ばれるコールバックメソッド用引数の型です。

public class TextChangedEventArgs : Object

 

プロパティ
(TextBox) TextBox

イベントの起きたテキストボックスを取得します。

 

 

ScrollBarVisibility

スクロールバーの表示方式を表します。

Auto コンテンツが表示しきれないとき、自動でスクロールバーを表示
Disabled スクロールバーを表示しない
Hidden スクロールバーを表示しない(子コンテンツには適用されない)
Visible 常にスクロールバーを表示

 

 

CharacterCasing

テキストボックスに入力できる文字種を表します。

Normal 大文字小文字とも入力可能。
Lower 小文字のみ。大文字は小文字に変換されます。
Upper 大文字のみ。小文字は大文字に変換されます。

アルファベットのみです。日本語は影響ありません。

-cAlgo API リファレンス

© 2021 cTrader's Life Powered by AFFINGER5