ライブラリ: EasyAndFastGUIグラフィックインターフェース作成ライブラリ - ページ 16

 
Alexander Fedosov:

ライブラリを再コンパイルしたが、クラスが見つからないと表示された。

class 'CWindow' is undefined Element.mqh

メイン・プログラム・ファイル(*.mq5)からプロジェクトを コンパイルする。

 


高DPIでパネルがぐちゃぐちゃになったときの修正方法を教えてください。

 
非常に優れたライブラリで、データ分析に基づいてユーザーが作成したロジックを使用して、オンティックまたはオンタイムイベントでマーケットデータを表示するテーブルを作成することができます。 私の例では、唯一欠けているのは、マーケットで実行したい注文の数を入力できるように編集オブジェクトを含める可能性があることです。テーブルに表示される市場データ
 
TextEditの入力フィールドで 右端を揃える方法を教えてください。以前のバージョンでは、SpinEditでは整列の可能性がありましたが、TextEditではそのような可能性はありません。
 
lovaK:
TextEditの入力フィールドで 右端を揃える方法を教えてください。SpinEditの以前のバージョンでは、整列の可能性がありましたが、TextEditではそのような可能性はありません。

テキストはCElement::DrawText(void)メソッドで描画されますが、左端か中央しかありません。

自分で追加する必要がある。こんな感じだ:

   if(m_is_center_text)
     {
      x =m_x_size>>1;
      y =m_y_size>>1;
      m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER);
     }
   else
     {
      switch(m_text_align)
        {
         case 0: m_canvas.TextOut(x+m_hor_space,         y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_LEFT|TA_TOP);       break;  // AT_LEFT_TOP
         case 1: m_canvas.TextOut((int)round(m_x_size/2),y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_CENTER|TA_TOP);     break;  // at_center_top
         case 2: m_canvas.TextOut(m_x_size-m_hor_space,  y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_TOP);      break;  // at_right_top
         case 3: m_canvas.TextOut(x+m_hor_space,         (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_LEFT|TA_VCENTER);   break;  // at_left_center
         case 4: m_canvas.TextOut(m_x_size>>1,           m_y_size>>1,           m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER); break;  // at_center_center
         case 5: m_canvas.TextOut(m_x_size-m_hor_space,  (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_VCENTER);  break;  // at_right_center
         case 6: m_canvas.TextOut(x+m_hor_space,         m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_LEFT|TA_BOTTOM);    break;  // at_left_bottom
         case 7: m_canvas.TextOut((int)round(m_x_size/2),m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_CENTER|TA_BOTTOM);  break;  // at_center_bottom
         case 8: m_canvas.TextOut(m_x_size-m_hor_space,  m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_BOTTOM);   break;  // at_right_bottom
         default: m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_LEFT); break;
        }
     }
 
Oleksii Chepurnyi:

自分で書かなければならない。こんな感じだ:

ありがとうございます。あなたのこのコードを7ページ目で見て、その時に取り上げました。問題は、あなたの追加によって、例えばコンボボックスのフィールドでは完璧に整列されたテキストが、入力フィールドの TextEditテキストではこの方法では整列されず、左端に整列されたままになってしまうことです。
 
lovaK:
ありがとうございます。7ページ目でこのコードを見て、その時に取り上げました。問題は、あなたのアドオンを使うと、例えばコンボボックスのフィールドではテキストがうまく整列されるのですが、TextEditの入力フィールドでは、この方法ではテキストが整列されず、左端に整列されたままになってしまうことです。

そうです、TextEditでは揃える必要がなかったのです :)

TextBox(m_edit)はテキストそのものを描画するので、回転させる必要がある。テキストを描画する独自のメソッドがあり、私が理解する限り、テキストは非シンボリックに描画される。

まず思いつくのは、CTextBox::TextOut(void) :) でx座標を変更することだ。

 

ライブラリーの新バージョンが発表された。

追加された内容については、こちらの記事をご覧ください:ZigZagは頭の中にある(後編)。データ収集、処理、表示の例

統計情報の収集と表示については、Expert Advisorの セクションをご覧ください。

 

何が足りないんだろう?そして、これがそのテンプレートだ :)素晴らしい!

パラメータでwindow_indexを取り除くことはできないのでしょうか?メインエレメントへのポインタがあるので、それをwindow_indexとしましょう :)

 
Oleksii Chepurnyi:

...

ちらっと見たんだけど、疑問があるんだ。なんでパラメータでwindow_indexを取り除けないんだろう?つまり、メイン・エレメントへのポインタがあるのだが、それをウィンドウ・インデックスと言おう。)

理由は覚えていない。もう一度やってみよう。