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

 

新バージョン(v2.14)を公開しました:

  1. 時間取引の範囲を視覚化するTimeRanges 要素を追加。
  2. ライブラリー・ユーザーからの報告によるいくつかのマイナーな修正。
  3. グラフィカル・インターフェースの 新しい例を追加。


 
Anatoli Kazharski #:

新バージョン公開(v2.14)

同様の機能を埋め込んでください。

// 行列をGUIテーブルとしてインタラクティブに視覚化。
bool CreateTable( const matrix &Matrix, const string &ColNames[] )


このような簡潔なコードを動作させるために。

#include <EasyAndFastGUI\Simple.mqh> //https://www.mql5.com/ja/code/19703

void OnInit()
{
  matrix Matrix;
  string ColNames[];
  
  CreateTable(Matrix, ColNames); // Simple.mqhの関数
}

EAF_SIMPLE // Simple.mqhのこのマクロは、GUIインタラクティブ機能のための標準的なOn関数のセットを含んでいます。


GraphPlotの 類似のアプローチを、行列のために、インタラクティブに作るようなものです。欠けているのは、様々な種類のデータを、できるだけシンプルな構文で、素早く可視化することです。

 
fxsaber #:

同様の機能を組み込んでください。

...

この簡潔なコードを動作させるには

...

GraphPlotの 類似のアプローチを、行列のために、インタラクティブに作る。欠けているのは、さまざまな種類のデータに対する高速な可視化で、できるだけシンプルな構文である。

興味深い提案をありがとう!

タスクリストに追加しました。私がそれに取りかかる準備ができたら、さらに議論しましょう。

 

新バージョン(v2.15)を公開しました:

  • オペレーティングシステム(DPI)の設定に応じてGUIの 自動スケーリング。
  • いくつかの小さなバグ修正。

ライブラリの第2バージョンは、最初のバージョン(
)とどのように違いますか?

  1. GUI要素の画像はすべてデジタル化され、画像の入ったフォルダは不要になりました。作業用のカスタム画像セットが必要な場合は、旧バージョンの画像アーカイブをダウンロードできます。
  2. イベント・ストリーム処理が大幅に改善されました。旧バージョンでは、アイテム数が多い場合、顕著な遅延がありました。現在では、要素の数にかかわらず、すべてが非常に高速に動作します。
  3. GUIの配色を変更する機能を追加しました。このバージョンでは、すでに準備されたMQLアプリケーションの作業中に、明るい テーマと 暗い テーマを素早く切り替えることができます。
  4. 3Dグラフィックスを扱うための標準ライブラリ(CCanvas3D)から新しいエレメント(C3DBase)が統合されました。
  5. 時間取引範囲の視覚化の ための TimeRanges 要素。
  6. マルチ・ウィンドウ・モード。自由な切り替えとモーダルモードを選択できるようになりました。
  7. オペレーティング・システムの設定(DPI)に応じて、グラフィカル・インターフェースを自動的に拡大縮小します。
  8. ライブラリフォルダとファイルの構造を変更。すべてのファイルが分類されるようになりました。
  9. セカンドバージョンはMT4対応 バージョンです。
  10. すべての要素にクイック作成のメソッドがあります。デフォルトのパラメータを持つほぼすべての要素が、わずか1行のコードで作成できるようになりました。

以下のスクリーンショットは、100%と125%の スケール(OSの設定)での違いを示しています:

//---

画像は高解像度です。そのため、400% スケール(8K UHD)でもきれいに表示されます。

 

新バージョン(v2.15)公開:

ライブラリの第2バージョンと第1バージョンの違いは何ですか?

  1. GUIエレメントの画像はすべてデジタル化され、画像を保存するフォルダは不要になりました。作業用のカスタム画像セットが必要な場合は、旧バージョンから画像のアーカイブをダウンロードできます。
  2. イベント・ストリームの処理が大幅に改善されました。旧バージョンでは、エレメントの数が多い場合、顕著な遅延がありました。現在では、要素の数にかかわらず、すべてが非常に高速に動作します。
  3. GUIの配色を変更する機能を追加。このバージョンでは、既製のMQLアプリケーションの実行中に、明るい テーマと暗い テーマを素早く切り替えることができます。
  4. 3次元グラフィックスを扱うための標準ライブラリ(CCanvas3D)から新しい要素(C3DBase)を統合。
  5. 時間取引範囲を視覚化するためのTimeRanges 要素。
  6. マルチ・ウィンドウ・モード。自由な切り替えとモーダルモードを選択できるようになりました。
  7. オペレーティング・システムの設定(DPI)に応じて、グラフィカル・インターフェースの自動スケーリング。
  8. フォルダとライブラリファイルの構造が変更されました。すべてのファイルが分類されるようになりました。
  9. セカンドバージョンには、すぐに使えるMT4 バージョンが付属しています。
  10. すべての要素にクイック作成のためのメソッドがあります。デフォルトのパラメータを持つほぼすべての要素が、わずか1行のコードで作成できるようになりました。

以下のスクリーンショットは、100%と125%の スケールでの違いを示しています(オペレーティングシステムの設定で):


//---

高解像度の画像。つまり、400%(8K UHD)のスケールでも、見栄えが良くなります。

 

こんにちは、アナトーリ、

更新ありがとうございます!

GUI化された画像の使い方を教えてください。

これらのEAの説明のために、

今賀フォルダを指しているリソースを使用していました。どのように解決できますか?


ありがとうございます!

 

すみません、

EAF 001の例を見ました、

2.14バージョンでは、explameは以下のコードを持っています。



そして、2.15では、以下のコードを持っています。

だから、ImagesEasyAndFastGuiIconsが変更されたと理解しています。

新しい2.15にアップデートしたら、Imageフォルダがダウンロードされませんでした。

助けてもらえますか?

ありがとう

 

もう一つの問題は、ボタングループで作業しているとき、ボタンのYサイズを変更できないことです。

V 2.14 例001

//--- ボタングループ1

string text1[] = {"BUTTON 1", "BUTTON 2"};

CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);

m_buttons1.SelectButton(1);

m_buttons1.ButtonYSize(80); //自分で追加!

この最後の行は効果がありません。

さらに

m_buttons1.YSize(80)


ご協力ありがとうございました!

 
Facundo Laje #:

...

新しいバージョン2.15にアップデートしたら、Imageフォルダがダウンロードされませんでした。

助けてもらえますか?

ありがとうございます。

EasyAndFastGUI 2.0 ライブラリのユーザーには、プライベートメッセージでリクエストに応じて高解像度の画像をアーカイブとして送ります。

コントロールについては、それらはデジタル化され、ライブラリのコードに組み込まれているので、必要ありません。しかし、ライブラリに付属するコード例に示されているように、カスタムエレメントで使用することができます。

プライベート・メッセージで画像を含むアーカイブをお送りします。

 
Facundo Laje #:

もう一つの問題は、ボタンのグループで作業しているときに、ボタンのYサイズを変更できないことです。

...

ご協力ありがとうございます!

メッセージありがとうございます!

次のアップデートで修正します。

このファイルを自分で変更するには、以下の行を削除してください:

MQL5\Include\EasyAndFastGUI\Core\Create\Include\Buttons\ButtonsGroup.mqh

この行(デフォルトボタンの高さ)を削除してください:

  //--- ボタンのプロパティ
  static void SetDefaultButtonParams(CButton &obj, const color label_clr, const color border_clr) {
    
    obj.YSize(20);
    obj.LabelColor(label_clr);
    obj.LabelColorHover(label_clr);
    obj.LabelColorPressed(label_clr);
    obj.BorderColor(border_clr);
    obj.BorderColorHover(border_clr);
    obj.BorderColorPressed(border_clr);
  }

//---

そうすると、グループ内のすべてのボタンの高さをこのように 設定できるようになります:

  //--- ボタン・グループ 1
  string text1[] = {"BUTTON 1", "BUTTON 2"};
  m_buttons1.ButtonYSize(25);
  CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);
  m_buttons1.SelectButton(1);