記事"グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)"についてのディスカッション - ページ 3

 
こんにちは。

つの状態のボタンをクリックすると動くようにしたいのです。メソッドは書いてあるのですが、動きません。

ログを見ると、関数は呼び出されているのですが、ボタンの位置が変わりません。

void CVisButBoard::ChangeButtonPosition(CButtHedge &_button, const int _ShiftX, const int _ShiftY)
  {
      _button.Moving(_ShiftX,_ShiftY);
  
  }


class CSimpleButton : public CElement
  

void CSimpleButton::Moving(const int x,const int y)
  {
//--- アイテムが非表示の場合は終了する
   if(!CElement::IsVisible())
      return;
      
  Print("Budem Dvigat? X?",x);    
//--- 要素フィールドに座標を保存する
   CElement::X(x+XGap());
   CElement::Y(y+YGap());
//--- 座標をオブジェクト・フィールドに保存する
   m_button.X(x+m_button.XGap());
   m_button.Y(y+m_button.YGap());
//--- グラフィカル・オブジェクトの座標を更新する
   m_button.X_Distance(m_button.X());
   m_button.Y_Distance(m_button.Y());
  }
//+---
 

こんにちは!

たくさんの有益で興味深い記事をありがとうございます。しかし、まだ全部を読んでいないので質問があるのですが、ボタンを "透過 "しないようにすることは可能でしょうか、つまり、スクロールして価格のチャートを見ることができないようにすることは 可能でしょうか。ボタンを押したときにカーソルが少しずれると、価格チャートがキャプチャされるため、ボタンが押されないことがわかりました。 よろしくお願いします

 
Ruslan Piraliyev #:

こんにちは!

たくさんの有益で興味深い記事をありがとうございます。しかし、まだ全部を読んでいないので質問があるのですが、ボタンを "透過 "しないようにすることは可能でしょうか、つまり、スクロールして価格のチャートを見ることができないようにすることは 可能でしょうか。ボタンを押したときにカーソルが少しずれると、価格チャートがキャプチャされるため、ボタンが押されないことがわかりました。 よろしくお願いします

ライブラリをプロジェクトに使うだけなら、すべての記事を読む必要はありません。

https://www.mql5.com/ja/code/19703 から最新版のライブラリを入手するのがよいでしょう。

また、最新の記事からグラフィカル・インターフェースを使った例をご覧ください:

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

自分のプロジェクトにライブラリを使いたいだけなら、必ずしもすべての記事を読む必要はない。

最新版のライブラリはこちらから入手するのがよいだろう。https://www.mql5.com/ja/code/19703

また、最新の記事からグラフィカル・インターフェースの例をご覧ください:

リンクをありがとうございます。価格チャートがスクロールするグラフィカルオブジェクトの「透明度」についての質問はどうでしょうか?グラフィカル・オブジェクトを「透明」でなくすることは可能ですか?この件に関しては、あなたはそれなりの経験をお持ちなので、もしかしたら遭遇したことがあるかもしれません。

 
Ruslan Piraliyev #:

リンクをありがとう。価格チャートがスクロールするグラフィカル・オブジェクトの「透明性」についての質問はどうでしょうか?グラフィカル・オブジェクトを「透明」でなくすることは可能でしょうか?あなたはこの件に関してきちんとした経験をお持ちなので、もしかしたら遭遇したことがあるかもしれません。

質問の意味がわかりません。最新バージョンではそのような問題はないと思います。試してみてください。

 
Anatoli Kazharski #:

質問の意味がわからない。最新バージョンではそのような問題はないと思います。試してみてください。

例えば、買いボタンというのがありますが、これを押して離すだけならそのまま機能しますが、これをポイントして押すと、チャート全体がキャプチャされ(バックグラウンドにある)、マウスを左右に動かすとスクロールしてしまいます。つまり、このボタンを押すときに少しでもズレがあると(起こる)、価格が表示されているチャートがキャプチャされてしまうので、ボタンは機能しない。そこで、このようなボタンは「透明」ではなく、チャートが透けて見えないようにしたい。例えば、MT5に内蔵されている「ワンクリックで取引」ボタンはその通りに機能します。

 
Ruslan Piraliyev #:

例えば、買いボタンがあり、それを押して離すだけならそのまま機能するが、それをポイントして押すと、チャート全体がキャプチャされ(背景にある)、マウスを左右に動かすとスクロールしてしまう。つまり、このボタンを押すときに少しでもずれると(ずれることはある)、価格の入ったチャートがキャプチャされてしまうので、ボタンは機能しない。そこで、このようなボタンは「透明」ではなく、チャートが透けて見えないようにしたい。例えば、MT5に内蔵されている「ワンクリックで取引」ボタンはその通りに機能します。

最新バージョンでは、それはあなたが必要とするように動作します:

EasyAndFastGUI - グラフィカルインターフェイスを作成するためのライブラリ
EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

最新バージョンは必要に応じて動作します:

EasyAndFastGUI - グラフィカルインターフェイス作成用ライブラリ

ありがとう、試してみるよ!

 
Anatoli Kazharski #:

最新バージョンは必要に応じて動作します:

EasyAndFastGUI - グラフィカルインターフェイス作成用ライブラリ

もちろん、あなたは開発と説明の上で途方もない仕事をした、ここではすべての賞賛の上にある。一度にすべてを理解 するのは難しいですが、私が試したところでは、ツールバーにボタンが作成され、ボタン付きのパネルが本当に必要なものを通して輝いていないことが判明しました。おそらく、将来的にはこのような実装になるのだろうが、今はフォーム・アンダーレイのない純粋なボタンを作成する作業があり、それが光っていなかった。もし、あなたがプロパティを指摘するか、それを行う方法を教えていただければ、私は非常にうれしいです。

 
Ruslan Piraliyev #:

...

おそらく将来的には、私もそのような実装になるだろうが、私は今、フォームアンダーレイなしで、半透明ではない純粋なボタンを作成 するタスクを持っている。

...

それこそが私が持っていないものだ。