オブジェクトプロパティを変更 ObjectSetString 関数

関数

オブジェクト関数

ObjectSetString 関数

この関数は、引数にチャートIDとオブジェクト名を指定して、そのオブジェクトプロパティ値 (string型) を設定することで、オブジェクトの設定を変更することができます。

データ型と構成・戻り値

bool ObjectSetString(①, ②, ③, ④, ⑤);

戻り値は、成功した時は true、それ以外は falseを返します。
発生するエラーについては、GetLastError関数で取得することができます。

引数 [5]

ObjectSetString関数は 5個の引数で構成されます。


引数名データ型単位初期値説明
chart_idlongチャートIDを指定します。現在のチャートIDは「0」を指定するか、ChartID関数を使うことで取得できます。
object_namestringチャート上に描画されているオブジェクト名を指定します。
prop_idintオブジェクトのプロパティID。
ENUM_OBJECT_PROPERTY_STRING 列挙値から選択。
prop_modifierint0指定したプロパティの修飾子。
これはフィボナッチツールとオブジェクトタイプの OBJ_PITCHFORK で必要になります。
prop_valuestring③に対するプロパティ値。
※④は初期値があり省略できますが、⑤は省略不可です。

使用例

ObjectSetString 関数によるオブジェクトのスタイル変更

ObjectSetText関数で描画したテキスト内容を、ObjectSetString関数を使って内容を変更します。変更前後の様子が分かるように、Sleep関数を使って 2秒後にテキスト内容とフォントを変更させます。

コード

// ObjectSetString関数によるオブジェクトテキストの内容変更
#property strict

void OnInit() {

int xpixcel = (int)(ChartGetInteger(0,CHART_WIDTH_IN_PIXELS));
int fontsize = 15;
int xWidth = xpixcel - 200; //幅
int yHeight = 20;           //高さ

ObjectsDeleteAll();                                     // オブジェクト全削除
ObjectCreate("obj_text", OBJ_LABEL,0,0,0);              // テキストラベルオブジェクト生成
ObjectSet("obj_text", OBJPROP_XDISTANCE,xWidth);        // テキストラベルオブジェクトX軸位置設定
ObjectSet("obj_text", OBJPROP_YDISTANCE,yHeight);       // テキストラベルオブジェクトY軸位置設定
ObjectSetText("obj_text", "テキスト変更前", fontsize , "MS ゴシック" , clrYellow); // テキスト設定

Sleep(2000);

ObjectSetString(0,"obj_text", OBJPROP_TEXT, "テキスト変更後");  // テキスト内容を変更
ObjectSetString(0,"obj_text", OBJPROP_FONT, "HG創英角ポップ体"); // テキストのフォント変更
}

void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

チャートの右上に表示されたテキストが 2秒後に変更されます。

タイトルとURLをコピーしました