ライブラリ: СBmpButtonTransparent クラス

 

СBmpButtonTransparent クラス:

透明ボタンのクラス

作者: Andrey Miguzov

削除済み  
MQL5の標準ライブラリに あるCBmpButtonクラスのコードを見ると、よく似ている。これは偶然なのでしょうか、それともこれらのクラスのいずれかがプロトタイプとして機能したのでしょうか?
 
Konstantin Karpov:
MQL5の標準ライブラリに あるCBmpButtonクラスのコードを見ると、よく似ている。偶然ですか、それともこれらのクラスのいずれかがプロトタイプとして機能したのでしょうか?
はい、もちろんです。CBmpButtonをベースにしました。そして90パーセントは作り直しました。)親クラスのCWndObjは、継承の助けを借りて少し手を加えなければなりませんでした。これは標準ライブラリとの互換性のために行われました。
削除済み  
Andrey Miguzov:
CBmpButtonをベースにした。そして90パーセントは作り直した。)親クラスのCWndObjは、継承を使って少し修正しなければならなかった。これは標準ライブラリとの互換性のために行われた。
なぜ開発者がこのクラスを標準ライブラリに 含めないかというと、このクラスが必要だからだ。というのも、コードを読んで、そのメソッドが何のために必要なのかを推測しなければならないからだ。
 
Konstantin Karpov:
ところで、そのメソッドの完全な説明があるといいのだが、コードに入ってメソッドを読み、それが何のために必要なのかを推測しなければならないのだから...。
そうですね。時間があり次第、追記します。
削除済み  

説明の前に、どのメソッドがチャート上のグラフィカル・オブジェクトの位置を変更するのか教えてください。CWndクラスの Top(aLocation)メソッドは変更しません。しかし、クリック位置は当然のように変更されますが、グラフィカル・オブジェクト自体はその位置に留まったままです。オブジェクト・ラベルとオブジェクト自体のバインディングはないのでしょうか?あるいは、私がまったく何かを理解していないか......。

一般的には、CBmpButtonTransparentクラスで、m_buttonオブジェクトを開き、そのY_Distanceメソッドを通して、Topと同じように、新しいY座標を入力する。これですべてがうまくいった。

 
Konstantin Karpov:

説明の前に、どのメソッドがチャート上のグラフィカル・オブジェクトの位置を変更するのか教えてください。CWndクラスの Top(aLocation)メソッドは変更しません。しかし、クリック位置は当然のように変更されますが、グラフィカル・オブジェクト自体はその位置に留まったままです。オブジェクト・ラベルとオブジェクト自体のバインディングはないのでしょうか?あるいは、私がまったく何かを理解していないか......。

一般的には、CBmpButtonTransparentクラスで、m_buttonオブジェクトを開き、そのY_Distanceメソッドを通して、Topと同じように、新しいY座標を入力する。これですべてがうまくいった。

いや、そのやり方は間違っている。例を見つけてアップロードするよ。コンテスト中に自分で実験してみたんだ :)

ただ、moveメソッドは僕のクラスにはなくて、標準ライブラリに実装されているんだ。

すべての内容を含むフォルダをExpertsに入れてください。

Profit_buttonファイルの139~143行目と155~159行目をご覧ください。

//Money.Shift(0,-3);
//Button.Shift(x,0);

Money.Move(Money.Left(),Money.Top()-3);
Button.Move(Button.Left()+x,Button.Top());

これは目的に応じて、どちらの方法でも機能します。

Expert Advisor を起動する前に、ウィンドウをフルスクリーンに拡大してください :)

ファイル:
Profit.zip  408 kb
削除済み  
Andrey Miguzov:

いや、それはやめてくれ。例を見つけてアップロードするよ。コンテストの間に自分で実験してみたんだ :)

ただ、moveメソッドは僕のクラスにはなくて、標準ライブラリに実装されているんだ。

すべての内容を含むフォルダをExpertsに入れてください。

Profit_buttonファイルの139~143行目と155~159行目をご覧ください。

これは目的に応じて、両方の方法で動作します。

Expert Advisor を起動する前に、ウィンドウをフルスクリーンに拡大してください :)

おっと...標準ライブラリの ヘルプを検索しまくったら、図があった。
削除済み  
Andrey Miguzov:

Expert Advisorを起動する前に、ウィンドウをフルスクリーンに広げてください :)

素晴らしい例だ!