記事"グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)"についてのディスカッション - ページ 14

 
Konstantin:

クラス CTabs:

このチェックがないと、タブがない場合、フォーム全体がエラーでクラッシュしてしまうからです。

タブを作成するメソッドにチェックがある場合、CTabs 型の要素をどのように作成したのかが不明です:

...
//--- グループ内にタブがない場合は、それを報告する。
   if(TabsTotal()<1)
     {
      ::Print(__FUNCTION__," > このメソッドは、"
              "グループ内に少なくとも1つのタブがある場合!CTabs::AddTab()メソッドを使用する");
      return(false);
     }
...

 
Anatoli Kazharski:

タブの作成メソッドにチェックがあるのであれば、CTabs タイプの要素をどのように作成したのか理解できません:

タブの数が増えたり減ったりするとタブが追加されたり削除されたりします。

タブの数が==0のときに上記のメッセージがポップアップすることがありますが、すべて問題なく動作します。

しかし、選択されたものを追加しない場合、例えばメインフォームのサイズを変更すると、ロボットはエラーでクラッシュします。
 
Konstantin:

問題なく作成できました。ハイライトした部分以外、クラスソースはいじらず、オーバーライドせずにクラスを使用しました。

タブの数が==0になったときに上記のメッセージが表示されることがありますが、すべて問題なく動作します。

しかし、選択したタブを追加しないと、例えば、メインフォームのサイズを変更したとき、ロボットはエラーでクラッシュします。

わかりました、次のバージョンが公開されたら詳しく調べてみます。ライブラリの開発がより速く簡単になるような大きな変更があるはずです。
 
Anatoli Kazharski:

次のバージョンが発表されたら、詳しく見てみるよ。ライブラリーの開発がより速く、より簡単になるような大きな変更があるはず だ。

ライブラリーの構造が変わらなければいいのですが。

皆さんは、上に書いたような変更をするのでしょうか?

例えば、gitで作業する場合、少なくとも2箇所ですべてを変更しなければなりません。

 
Konstantin:

1.ライブラリーの構造は変更されないのでしょうか?

2.皆さんは、上に書いたような変更をするのでしょうか?

3.一つ気に入らない点があります。ライブラリーが写真付きカタログと結びついているのですが、このカタログをライブラリーのカタログの中に入れた方がいいと思います。そうすれば、どこにでも置くことができます。例えば、gitで作業する場合、少なくとも2箇所ですべてを変更しなければなりません。

1.1.ライブラリのユーザーにとっては、目立ちにくいと思います。すべての変更と追加については、記事の中で詳しく説明します。

2.いくつか。一度にすべてではない。

3.私が移動できると思うコントロールについて。カスタムのものももちろんそこに残る。

 

CStandardChartクラスのオブジェクトを、マウスによるチャートの圧縮時に、価格スケールを使用して、つまりターミナルの通常のチャートと同じように垂直方向に操作する 方法を教えてください。

私が理解する限り、このようなマウス・イベントの実装はライブラリにはなく、自分で実装する必要があります。いずれにせよ、私はこのようなことをしたことがないので、ヒントを待っています)。
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи...
 
Konstantin:

CStandardChartクラスのオブジェクトを、マウスによるチャートの圧縮時に、価格スケールを使用して、つまりターミナルの通常のチャートのように垂直方向に操作する 方法を教えてください。

私が理解する限り、このようなマウス・イベントの実装はライブラリにはなく、自分で実装する必要があります。いずれにせよ、私はこのようなことをしたことがないので、ヒントを待っています)。

私はこの方法を試したことがないので、ヒントを与えることはできません。

私が提案できるのはこの方法だけです:

チャート・オブジェクトをクリックすると、ON_CLICK_SUB_CHARTという 識別子でイベントが発生します。文字列パラメータ(sparam)には、チャート・オブジェクト内の文字の名前が含まれます。ユーザー・クラスのイベント・ハンドラでこの識別子のメッセージを受け取り、チャート・ウィンドウにメッセージのシンボルを設定し、レディ機能を使用します。

 
Anatoli Kazharski:

私はその方法を試したことがないので、アドバイスできない。

私が提案できるのはこの方法だけです:

チャート・オブジェクトをクリックすると、ON_CLICK_SUB_CHARTという 識別子でイベントが発生します。文字列パラメータ(sparam)には、チャート・オブジェクト内の文字の名前が含まれます。ユーザー・クラスのイベント・ハンドラでこの識別子のメッセージを受け取り、チャート・ウィンドウにメッセージのシンボルを設定し、レディ機能を使用します。

OBJ_CHART オブジェクトでは動作しません。

チャート・オブジェクト(OBJ_CHART) に対してチャート操作を行う場合、以下の制限があります:

  • ChartClose() で閉じることはできません;
  • ChartSetSymbolPeriod() 関数を使用してシンボル/期間を変更することはできません;
  • CHART_SCALE, CHART_BRING_TO_TOP, CHART_SHOW_DATE_SCALE および CHART_SHOW_PRICE_SCALE (ENUM_CHART_PROPERTY_INTEGER) プロパティは動作しません。
 
Konstantin:

OBJ_CHART オブジェクトでは実現できません。

ですから、私が提案した変形が適切です。)
 
Anatoli Kazharski:
だから、私が提案したオプションは適切だ。)

この機能はMQ開発者によってこれらのオブジェクトに対して有効化されていません。