記事"グラフィカルインタフェースX: テキストエディットボックス、ピクチャスライダー、及びシンプルなコントロール(ビルド5)"についてのディスカッション - ページ 2

 
maj:

こんにちは

過去2回の記事で、mql4ファイルが表示されませんでした。

mt4が複数チャートやそういったものをサポートしていないことは知っていますが

mql4のアップデートはありますか?

つまり、テキスト編集やマウスやCPUのパフォーマンスのような最新の機能についてです。

MT4版のライブラリは更新されません。
 
Anatoli Kazharski:
MT4版のライブラリは更新されません。

MQL5への切り替えをプッシュする

 

TextEdit.mqhのTol、不要なもの(または不要なものの代わりに欠けているもの)

//+------------------------------------------------------------------+
//| テキスト入力フィールド・オブジェクトのグループを作成する。
//+------------------------------------------------------------------+
bool CTextEdit::CreateTextEdit(const long chart_id,const int subwin,const string label_text,const int x,const int y)
  {
//--- フォームへのポインタがない場合は終了する。
   if(!CElement::CheckWindowPointer(::CheckPointer(m_wnd)))
      return(false);
//--- 変数の初期化
   m_id          =m_wnd.LastId()+1;
   m_chart_id    =chart_id;
   m_subwin      =subwin;
   m_x           =x;
   m_y           =y;
   m_x_size      =(m_x_size<1 || m_auto_xresize_mode)? (m_anchor_right_window_side)? m_wnd.X2()+m_x-m_auto_xresize_right_offset : m_wnd.X2()-m_x-m_auto_xresize_right_offset : m_x_size;
   m_y_size      =m_edit_y_size;
   m_label_text  =label_text;
   m_area_color  =(m_area_color!=clrNONE)? m_area_color : m_wnd.WindowBgColor();
//--- 終点からのインデント
   CElement::XGap((m_anchor_right_window_side)? m_x : m_x-m_wnd.X());
   CElement::YGap((m_anchor_bottom_window_side)? m_y : m_y-m_wnd.Y());
//--- 要素の作成
   if(!CreateArea())
      return(false);
   if(!CreateIcon())
      return(false);
   if(!CreateLabel())
      return(false);
   if(!CreateEdit())
      return(false);

   if(!CreateEdit())
      return(false);

   Print(__FUNCTION__," > CreateEdit()");
   if(!CreateTextSelectPointer())
      return(false);
//--- ウィンドウがダイアログボックスであるか、最小化されている場合、項目を隠す。
   if(m_wnd.WindowType()==W_DIALOG || m_wnd.IsMinimized())
      Hide();
//---
   return(true);
  }
//+------------------------------------------------------------------+

また、入力フィールドにテキスト・ラベルを使えるのに、そのフォントやサイズを設定できないのは、なんだか変だ。もしかしたら、私の見る場所が間違っているのでしょうか?あるいは、コードに入り込まず、独自のメソッドを追加することなく、それを実行する方法を教えてください。

 
Artyom Trishkin:

TextEdit.mqhのTol、不要なもの(または不要なものの代わりに欠けているもの)

また、入力フィールドにテキスト・ラベルを使用できるのに、そのフォントやサイズを設定できないのは、なんだか変です。もしかしたら、私が見ている場所が間違っているのでしょうか?あるいは、コードに入り込まず、独自のメソッドを追加することなく、それを行う方法を教えてください。

1.もちろん不要です。削除してください。

2.次のアップデートでは、各要素にフォントとサイズを設定できるようになります。

すでに次の記事を書いています。おそらく来週には公開できるだろう。

 
Anatoli Kazharski:

1.冗長だ。削除すべきである。

2.次回のアップデートでは、各要素にフォントとサイズを設定できるようにします。

すでに次の記事を書いている。おそらく来週には公開できるだろう。

1.ずいぶん前に削除してしまったのですが、もし削除した記事の代わりに他の記事があったらどうしよう......と思っていました。

2.スーパー、しかし、私は再び私の方法を削除する必要があります...、しかし、気にしないでください....;)

3.楽しみにしています。

 
Anatoli Kazharski:

1.冗長だ。削除すべきである。

2.次回のアップデートでは、各要素にフォントとサイズを設定できるようにします。

すでに次の記事を書いている。おそらく来週には公開されるでしょう。

Tol、時間枠を変更する際、テキスト入力フィールドに入力されたテキストが再び「ここにテキストを入力してください」に置き換えられています。これを消すには?

この構成ではうまくいきません(クラス・コンストラクタの デフォルト・テキストを""に置き換えました):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
 
Artyom Trishkin:

Tol、時間枠を変更すると、テキスト入力フィールドに入力されたテキストが再び「ここにテキストを入力してください」に置き換えられます。これを取り除くには?

この作り方ではうまくいきません(クラス・コンストラクタの デフォルト・テキストを""に置き換えました):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
はい、デフォルトは今のところ空白のままにしておいた方がよいでしょう。
 
Yuriy Zaytsev:

MQL5への移行を後押し

ええ、聞いた方がいいですよ。)

取引、自動取引システム、取引戦略のテストに関するフォーラム

MT4をダウンロードできない

Renat Fatkhullin, 2016.11.30 17:32

皆さん、MT4プラットフォームの最大のディストリビューター(どのブローカーよりもインストール数が多い)である当社が、それを宣伝し続けると思われましたか?

MT4を無料で世界中にインストールし、「なぜMT4から離れなければならないのか」と自慢している人たちを喜ばせ続けると思いましたか?

将来のことを考え、メタトレーダー5への開発をより早く進めることをお勧めします。

エコシステムの変化は今よりずっと速い。


 
こんにちは!質問です。C言語には、テキストを自動的に改行するTMemoや、63文字以上入力できるTEditがあります。TMemoとTEditの類似品を、あなたの開発の助けを借りて作ることは可能でしょうか?63文字はメタトレーダー自体の制限であり、回避することはできないと理解しています。WINAPIを使うことは可能でしょうか?(すみません、Windows標準のツールを使ったオブジェクトの構築については よく知りません)。
 
Roman Podpora:
こんにちは!質問です。C言語には、テキストを自動的に改行するTMemoや、63文字以上入力できるTEditがあります。TMemoとTEditの類似品を、あなたの開発の助けを借りて作ることは可能でしょうか?63文字はメタトレーダー自体の制限であり、回避することはできないと理解しています。WINAPIを使うことは可能でしょうか?(すみません、Windows標準のツールを使ったオブジェクトの構築については よく知りません)。
CTextBoxの ような別のエレメントを作成する計画があり、そこでは制限がなく、複数行モードや垂直・水平スクロールバーを有効にすることができます。