注目!コンテスト - ページ 13

 

おっと )

デレバンという選択肢に賛成で、公開討論が一番有意義だと思う。

 
TheXpert:
そう、それが問題なのです。このトピックではkomposterとtol64を募集しています。

ありがとうございます。コンペティションに応募しなかったのは、現在とても大きなプロジェクトに 取り組んでいるからです。近々、誰でも使えるようになる予定です。また、それをもとにさまざまなコンテストを開催することも可能でしょう。まだ詳しいことは言えません。)

 
さて、ここからが本番です :)
Класс для работы с кнопками произвольной формы
Класс для работы с кнопками произвольной формы
  • 2015.03.18
  • Dmitriy Parfenovich
  • www.mql5.com
Класс предназначен для создания интерактивных кнопок на графике цены с различными состояниями.
 
fyords:
さあ、どうぞ :)

私のはまだテスト中ですが...。見かけたらご報告します...。

追加されました。

ここに私のオプションが あります :)

 
fyords:

見てください-5点 :)もし、ユーザーが標準ライブラリを 必要としないのであれば、あなたのバージョンの方が良い。

実はこのライブラリに悩んでいるのは、これをベースに書いた、今やっているプログラムがあるからです。デザインは非常に不器用なので、改善したいと思いました。そしてここで、私にとても関係のあるコンテストを開催することになりました。

導入の長所から

1)松葉杖がない持っていたり、標準クラスの継承など、標準ライブラリとの互換性をサポートするための楽しみがありますね

2)ボタンの状態とチャート上のオブジェクトの状態が一致する

3)関数には入力値のエラーチェック 機能がある。私、ところどころで見落としていたのですが...。

4)Expert Advisor ではボタンはよりエレガントに作成されます(ネストされたサイクルによって)。考えたことがありません。

5)チャートの角度だけでなく、ボタンの角度も設定 可能です。正直なところ、私はそれがどこに 役立つのか 分かりませんが、多分......。

6)6枚の写真を持って います。4つ持っています。

7)CCanvas - ボタンに何かを書き、いくつかの機能を 追加して終わりです。多言語アプリケーションの場合、非常に便利です。また松葉杖を作らなければならなくなる。

8)あなたのコードの理解がより速くなります

改善点をいくつか実感しています。

1)チャットを縮小してボタンが部分的に隠れるようにした場合(下部または上部) - ボタンのバックライトはリセットされません(写真参照)

2)「焦げ付き防止ボタン」を作成するオプションが見当たりません例:ボタンが沈んですぐに落ちてしまった(標準的なボタンと同様)。

3)透明度の定義がもっと複雑になって いますね。どこもかしこも仕組みがよくわからない。自分で画像を用意するのであれば、私のようにした方が楽です。つ まり、画像から透明度を関数で取り出すだけです( Integer に感謝 します)。

double GetAlfa(uint  aColor)
  {
   return((aColor>>24)&0xff);
  }

そして、閾値(250を取りましたが、もちろん機能を追加して、設定できるようにする必要があります)でチェックします。

 double alfa=GetAlfa(data[y*m_SizeX+x]);
 if(alfa>250)
   {
    m_T[y*m_SizeX+x]=true;
   }
 else
   {
   m_T[y*m_SizeX+x]=false;
   }

ただし、グラフィックエディタを開かずに既製の画像で作業する場合は、そちらのバージョンの方が便利な可能性が高いです。

ZS: 今気づいたのですが、CCanvasクラスにも透明度の定義機能がありますね。

#define  GETRGBA(clr)   uchar((clr)>>24)
 

ありがとうございます。あなたのも見てみますね。

MigVRN:

改善すべきと気づいた点:...。

  1. ポインタがウィンドウの外に出た場合、「マウスの移動」イベントが発生しないため、このバグを修正することは不可能と思われます。
  2. タスクにはなかった、修正するのにそれほど手間はかからないが。
  3. 透明度については、2e点(最も暗い点と最も明るい点)を取り、その平均値が閾値となる、というシンプルな仕組みになっているようです。画像に透明な部分がある場合、最も暗い色は0に向かって移動するため、閾値も0になります。
    これは、同じ機能が透明と別のマスクの両方で動作することから決定されたものです。
    また、この方法(セパレートマスク)により、透明度のない画像も使用できることを申し添えます。まあ、開発者がグラフィックエディターを使いこなせていないのかもしれませんが :)
    あるいは、マスクの色を指定するバリアント - 緑のボタンに白を指定すると「透明になる」バリアントのように、透明度や追加のマスクに関する追加のダンスなしで、透明度を指定できます。
 
MigVRN:

そこで一仕事した...。返答を待っています。

参加者の皆様、ありがとうございました。

 
TheXpert #:
はい、写真のボタン部分は不透明な部分です。