記事"エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法"についてのディスカッション - ページ 3 1234 新しいコメント Evgeny Potapov 2016.04.04 17:11 #21 Karputov Vladimir:記事のPanelDialog2.mqh ファイルを例として使用します:このファイルはダイアログ・パネルの要素を作成します。パネルの特質はCDialog クラスです。ありがとうございます!CDialogで試してみますが、どう動くべきかまだ理解できていません:作成後すぐにボタンが見えるようになりますが、消えてCDialogに飛ぶべきでしょうか? Vladimir Karputov 2016.04.04 17:15 #22 Evgeny Potapov:ありがとうございます!CDialogで試してみますが、どのように動作するのかまだ理解できていません:ボタンは作成直後に表示されるようになりますが、消えてCDialogにジャンプするのでしょうか? ステップ・バイ・ステップ(F11)デバッグモードでブレークポイントを使えば、隠れていたものがすべて見えるようになります。 Evgeny Potapov 2016.04.04 17:45 #23 Evgeny Potapov:ありがとうございます!CDialogで試してみますが、まだどのように動作するのか理解できていません:ボタンは作成直後に表示されるようになりますが、消えてCDialogにジャンプするのでしょうか?Karputov Vladimir: 記事のPanelDialog2.mqh ファイルの例について:このファイルはダイアログパネルの要素を作成します。パネルの記号はCDialog クラスです。はい、このクラスで動作しますが、なぜかダイアログがマウスでドラッグされません。ここでint OnInit() { MyButton = new CButton; if(CheckPointer(MyButton) == POINTER_INVALID) return(INIT_FAILED); MyDialog = new CDialog(); if(CheckPointer(MyDialog) == POINTER_INVALID) return(INIT_FAILED); MyDialog.Create(ChartID(),WindowExpertName()+"_dailog",0,50,100,150,250); MyDialog.Add(MyButton); MyButton.Create(ChartID(),WindowExpertName()+"_button",0,70,120,90,190); MyDialog.Show(); MyDialog.Enable(); return(INIT_SUCCEEDED); } Subscribers 2016.12.08 16:03 #24 Vladimir Karputov: すべてのイベントやボタンクリックの処理をしばらくの間無効にする方法を教えてください。 Vladimir Karputov 2016.12.08 16:17 #25 Subscribers: すべてのイベントやボタンクリックの処理をしばらくの間(例えば、ポジションの オープンやクローズの 間)無効にする方法を教えてください。 具体的には?この記事のコードについて質問がありますか? Subscribers 2016.12.08 16:36 #26 Vladimir Karputov: そしてもっと重要なことは?この記事のコードについて質問がありますか?この記事とは限りませんが...。ただ、どこにも見当たらないんだ。例えば...この記事には、ボタンのイベント処理に関する サブスクリプションがあります。EVENT_MAP_BEGIN(CControlsDialog)... ON_EVENT(ON_CLICK,m_button_ok,OnClickButtonOK) EVENT_MAP_END(CAppDialog)質問:プログラムでこの処理を無効にし(ON_CLICK 処理を無効にし)、再度有効にするにはどうすればいいですか? Vladimir Karputov 2016.12.08 16:46 #27 Subscribers:この記事によれば、必ずしもそうではないが...。ただ、どこにも見当たらないんだ。例えば...この記事には、ボタンのイベント処理に関する サブスクリプションがあります。EVENT_MAP_BEGIN(CControlsDialog)... ON_EVENT(ON_CLICK,m_button_ok,OnClickButtonOK) EVENT_MAP_END(CAppDialog)質問:プログラムでこの処理を無効にし(ON_CLICK 処理を無効にし)、再び有効にするにはどうすればいいですか? 禁止する方法はありませんが、クリック処理関数にフラグチェックを書くことができます。フラグがtrueならクリック処理を行い、falseなら関数を終了します。 Subscribers 2016.12.08 16:50 #28 Vladimir Karputov: 禁止する方法はないが、クリック処理の関数内にフラグチェックを書いて、フラグがtrueならクリック処理を行い、falseなら関数を抜けるようにすればいい。 それはすでにやったのだが・・・。でも、やっぱり違うんです。例えば、パネルのボタンを押して多くの注文をクローズするとき、パネルが完全に反応しないようにしたいのです。そうでなければ、(このとき)買いボタンをクリックしてもイベントは発生し、クローズがうまくいった後にイベント・ハンドラへの入力があります。 Subscribers 2016.12.08 16:51 #29 Vladimir Karputov: 禁止する方法はありませんが、クリック処理関数にフラグチェックを書くことができます。フラグがtrueならクリックを処理し、falseなら関数を終了します。 一般的に、パネルを非アクティブにする方法はありません。 Vladimir Karputov 2016.12.08 16:54 #30 Subscribers: それはもうやったよ。一概には言えないんだけど...。例えば、パネルのボタンを押して大量の注文をクローズするとき、パネルが完全に反応しないようにしたいのです。そうしないと、(このとき)買いボタンをクリックしてもイベントは発生し、クローズがトリガーされた後にイベントハンドラへの入力があります。正しいことをする - 関数に入ったらすぐに禁止フラグを処理する。しかしちょっとだけ...。追加しました:禁則フラグに応じた押下処理が必要なだけです。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
記事のPanelDialog2.mqh ファイルを例として使用します:
このファイルはダイアログ・パネルの要素を作成します。パネルの特質はCDialog クラスです。
ありがとうございます!
CDialogで試してみますが、どう動くべきかまだ理解できていません:作成後すぐにボタンが見えるようになりますが、消えてCDialogに飛ぶべきでしょうか?
ありがとうございます!
CDialogで試してみますが、どのように動作するのかまだ理解できていません:ボタンは作成直後に表示されるようになりますが、消えてCDialogにジャンプするのでしょうか?
ありがとうございます!
CDialogで試してみますが、まだどのように動作するのか理解できていません:ボタンは作成直後に表示されるようになりますが、消えてCDialogにジャンプするのでしょうか?
記事のPanelDialog2.mqh ファイルの例について:
このファイルはダイアログパネルの要素を作成します。パネルの記号はCDialog クラスです。
はい、このクラスで動作しますが、なぜかダイアログがマウスでドラッグされません。ここで
すべてのイベントやボタンクリックの処理をしばらくの間(例えば、ポジションの オープンやクローズの 間)無効にする方法を教えてください。
そしてもっと重要なことは?この記事のコードについて質問がありますか?
この記事とは限りませんが...。ただ、どこにも見当たらないんだ。例えば...この記事には、ボタンのイベント処理に関する サブスクリプションがあります。
...
ON_EVENT(ON_CLICK,m_button_ok,OnClickButtonOK)
EVENT_MAP_END(CAppDialog)
質問:プログラムでこの処理を無効にし(ON_CLICK 処理を無効にし)、再度有効にするにはどうすればいいですか?
この記事によれば、必ずしもそうではないが...。ただ、どこにも見当たらないんだ。例えば...この記事には、ボタンのイベント処理に関する サブスクリプションがあります。
...
ON_EVENT(ON_CLICK,m_button_ok,OnClickButtonOK)
EVENT_MAP_END(CAppDialog)
質問:プログラムでこの処理を無効にし(ON_CLICK 処理を無効にし)、再び有効にするにはどうすればいいですか?
禁止する方法はないが、クリック処理の関数内にフラグチェックを書いて、フラグがtrueならクリック処理を行い、falseなら関数を抜けるようにすればいい。
禁止する方法はありませんが、クリック処理関数にフラグチェックを書くことができます。フラグがtrueならクリックを処理し、falseなら関数を終了します。
それはもうやったよ。一概には言えないんだけど...。例えば、パネルのボタンを押して大量の注文をクローズするとき、パネルが完全に反応しないようにしたいのです。そうしないと、(このとき)買いボタンをクリックしてもイベントは発生し、クローズがトリガーされた後にイベントハンドラへの入力があります。
正しいことをする - 関数に入ったらすぐに禁止フラグを処理する。
しかしちょっとだけ...。
追加しました:
禁則フラグに応じた押下処理が必要なだけです。