記事"グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)"についてのディスカッション - ページ 4 12345 新しいコメント Anatoli Kazharski 2016.12.28 07:34 #31 Artyom Trishkin: なぜテキスト入力フィールドの 空文字列は「"」ではなく「"」なのか? 長い間、なぜ空文字列のチェックが機能しないのかわかりませんでした...。理由はわかりません。空文字列("")で初期化されます。CTextEdit クラスのコンストラクタを見ればわかる://+------------------------------------------------------------------+//| コンストラクタ|//+------------------------------------------------------------------+ CTextEdit::CTextEdit(void) : m_edit_value(""), m_reset_mode(false), m_show_text_pointer_mode(false), m_align_mode(ALIGN_LEFT), m_text_edit_state(true), m_area_color(clrNONE), m_icon_x_gap(0), m_icon_y_gap(3), m_icon_file_on(""), m_icon_file_off(""), m_label_text(""), m_label_x_gap(0), m_label_y_gap(4), m_label_color(clrBlack), m_label_color_hover(C'85,170,255'), m_label_color_locked(clrSilver), m_edit_y_size(20), m_edit_x_gap(50), m_edit_y_gap(0), m_edit_color(clrWhite), m_edit_color_locked(clrWhiteSmoke), m_edit_text_color(clrBlack), m_edit_text_color_locked(clrSilver), m_edit_text_color_highlight(clrRed), m_edit_border_color(clrSilver), m_edit_border_color_hover(C'85,170,255'), m_edit_border_color_locked(clrSilver) {//--- エレメント・クラスの名前をベース・クラスに保存する。 CElementBase::ClassName(CLASS_NAME);//--- マウスの左ボタン押下の優先順位を設定する。 m_area_zorder =1; m_label_zorder =0; m_edit_zorder =2; } Discussion of article "Graphical グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5) グラフィカルインタフェースVI:チェックボックスコントロール、編集コントロールとその混合型(チャプター 1) Artyom Trishkin 2016.12.28 07:40 #32 Anatoli Kazharski:なぜかはわからない。これは空文字列("")で初期化されます。CTextEdit クラスのコンストラクタを見れば わかります:... そうです。そのため、初期化後に""をチェックするという条件がなぜ機能しないのか理解できなかった。 それから、入力フィールドの 中にカーソルを置くと、そこにスペースと同じ大きさの広いスペースができることに気づきました。私は" "をチェックし、すべてが機能しました。 Pavel Kolchin 2016.12.28 10:39 #33 Pavel Kolchin:接続時にこのようなエラーが出ます(作業には支障ありません)。cannot load custom indicator 'C:\MetaTrader\MT5 demo\MQL5\Experts\new_menue_fc_1.00.ex5::Indicators\SubWindow.ex5' [4802]CWndEvents::DetermineSubwindow > Ошибка при получении хэндла индикатора в директории ::Indicators\SubWindow.ex5 !私はこのバージョンのライブラリを使用しており、メニューはメイングラフィックにあります。 メニューはメイングラフィックの中にあります。 Anatoli Kazharski 2016.12.28 10:42 #34 Pavel Kolchin: ファイルのどこにつながっているのかがわかりません。テストしているMQLアプリケーションのメインファイルで、以下の行を 削除してください://+------------------------------------------------------------------+//|TestLibrary05.mq5//| Copyright 2016, MetaQuotes Software Corp.//|http://mql5.commql5.com//+------------------------------------------------------------------+#property copyright "2016, MetaQuotes Software Corp."#property link "http://www.mql5.com"//--- 「エキスパート・イン・サブウィンドウ」モードのインジケータの接続#resource "\\Indicators\\SubWindow.ex5" Pavel Kolchin 2016.12.28 10:46 #35 Anatoli Kazharski:テストしているMQLアプリケーションのメインファイルで、この行を 削除してください:#resource "\\Indicators\\SubWindow.ex5" この行を削除してください。 Anatoli Kazharski 2016.12.28 10:51 #36 Pavel Kolchin: それが問題です。Defines.mqh ファイルのEXPERT_IN_SUBWINDOW パラメータをfalseに 設定する://+------------------------------------------------------------------+//|定義する。mqh//| Copyright 2015, MetaQuotes Software Corp.//|http://mql5.commql5.com//+------------------------------------------------------------------+//--- ウィンドウモードのエキスパート#define EXPERT_IN_SUBWINDOW false Pavel Kolchin 2016.12.28 10:59 #37 Anatoli Kazharski:Defines.mqh ファイルで、EXPERT_IN_SUBWINDOW パラメータをfalseに 設定する: Anatoli Kazharski 2016.12.28 14:56 #38 Pavel Kolchin: それは素晴らしいことだ!) Rodrigo Pandini 2017.01.27 21:09 #39 Defines.mqhの "expert in sub window "モードがデフォルトのtrueに変更されていますが、何か理由があるのでしょうか?//--- サブウィンドウのエキスパート」モード#define EXPERT_IN_SUBWINDOW trueこのため、エキスパートがサブウインドウで使用されていないとエラーになります。 Defines.mqhでfalseに変更したところ、今まではすべて正常に動作していたようです。 Cid Ougaske 2017.04.08 02:09 #40 親愛なるアナトーリさん、おめでとうございます!あなたのインターフェースはとても便利で簡単で素晴らしいです。私のEAとインジケータに採用しました。本当にありがとうございます。もっともっと続けてください! 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なぜテキスト入力フィールドの 空文字列は「"」ではなく「"」なのか? 長い間、なぜ空文字列のチェックが機能しないのかわかりませんでした...。
理由はわかりません。空文字列("")で初期化されます。CTextEdit クラスのコンストラクタを見ればわかる:
//| コンストラクタ|
//+------------------------------------------------------------------+
CTextEdit::CTextEdit(void) : m_edit_value(""),
m_reset_mode(false),
m_show_text_pointer_mode(false),
m_align_mode(ALIGN_LEFT),
m_text_edit_state(true),
m_area_color(clrNONE),
m_icon_x_gap(0),
m_icon_y_gap(3),
m_icon_file_on(""),
m_icon_file_off(""),
m_label_text(""),
m_label_x_gap(0),
m_label_y_gap(4),
m_label_color(clrBlack),
m_label_color_hover(C'85,170,255'),
m_label_color_locked(clrSilver),
m_edit_y_size(20),
m_edit_x_gap(50),
m_edit_y_gap(0),
m_edit_color(clrWhite),
m_edit_color_locked(clrWhiteSmoke),
m_edit_text_color(clrBlack),
m_edit_text_color_locked(clrSilver),
m_edit_text_color_highlight(clrRed),
m_edit_border_color(clrSilver),
m_edit_border_color_hover(C'85,170,255'),
m_edit_border_color_locked(clrSilver)
{
//--- エレメント・クラスの名前をベース・クラスに保存する。
CElementBase::ClassName(CLASS_NAME);
//--- マウスの左ボタン押下の優先順位を設定する。
m_area_zorder =1;
m_label_zorder =0;
m_edit_zorder =2;
}
なぜかはわからない。これは空文字列("")で初期化されます。CTextEdit クラスのコンストラクタを見れば わかります:
...
接続時にこのようなエラーが出ます(作業には支障ありません)。
cannot load custom indicator 'C:\MetaTrader\MT5 demo\MQL5\Experts\new_menue_fc_1.00.ex5::Indicators\SubWindow.ex5' [4802]
私はこのバージョンのライブラリを使用しており、メニューはメイングラフィックにあります。
ファイルのどこにつながっているのかがわかりません。
テストしているMQLアプリケーションのメインファイルで、以下の行を 削除してください:
//|TestLibrary05.mq5
//| Copyright 2016, MetaQuotes Software Corp.
//|http://mql5.commql5.com
//+------------------------------------------------------------------+
#property copyright "2016, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
//--- 「エキスパート・イン・サブウィンドウ」モードのインジケータの接続
#resource "\\Indicators\\SubWindow.ex5"
テストしているMQLアプリケーションのメインファイルで、この行を 削除してください:
それが問題です。
Defines.mqh ファイルのEXPERT_IN_SUBWINDOW パラメータをfalseに 設定する:
//|定義する。mqh
//| Copyright 2015, MetaQuotes Software Corp.
//|http://mql5.commql5.com
//+------------------------------------------------------------------+
//--- ウィンドウモードのエキスパート
#define EXPERT_IN_SUBWINDOW false
Defines.mqh ファイルで、EXPERT_IN_SUBWINDOW パラメータをfalseに 設定する:
#define EXPERT_IN_SUBWINDOW true
このため、エキスパートがサブウインドウで使用されていないとエラーになります。
Defines.mqhでfalseに変更したところ、今まではすべて正常に動作していたようです。