記事"任意の複雑さのレベルのグラフィカルなパネルを作成する方法"についてのディスカッション - ページ 9

 
Vasiliy Pushkaryov:
まだ出会っていない。私は知らない。Stanislavがこのスレッドの投稿27で質問に答えています。標準ライブラリの 無効化もそこで触れられています。

Visible()メソッドを適用した

は私が必要とするように呼吸する

もちろん、MQLを提供してくれたMQにも感謝している。

まあ、どんな空想でも実現できるものだ。)
 

こんにちは、お二人さん、

お二人には感謝してもしきれません。お二人の批評のおかげで、この種のプログラミングの意味を探す時間を大幅に節約することができました。
ドイツ語に翻訳された完全なMQL構文の合理的な説明はどこかにありますか?

Die Ersetzung des CWndContainer
Die Ersetzung des CWndContainer
  • www.mql5.com
Diese Datei ersetzt die originale Datei WndContainer.mqh. Er verhindert die Veränderung des Charts beim Druck und bei der Haltung der Maus-Taste innerhalb im Bereichs des Containers.
 
Joosy:

こんにちは、お二人さん、

お二人には感謝してもしきれません。お二人の批評のおかげで、この種のプログラミングの意味を探す時間を大幅に節約することができました。
ドイツ語に翻訳された完全なMQL構文の合理的な説明はどこかにありますか?

  1. https://www.mql5.com/files/pdf/mql5_german.pdf
  2. https://www.mql5.com/ja/docs/function_indices
    これはCtrl+Fでキーワードを検索できるリストです。
  3. エディターでは、MQL5関数の上にマウスを置いてF1を押すと、その関数のドキュメントに直接行くことができます。
 
Carl Schreiber:
  1. https://www.mql5.com/files/pdf/mql5_german.pdf
  2. https://www.mql5.com/ja/docs/function_indices
    Ctrl+Fでキーワードを検索できるリストです。
  3. エディターで、MQL5関数の上にマウスを置いてF1を押すと、その関数のドキュメントに直接行くことができます。
基本的にドキュメントは知っている。しかし、あなたが提供してくれた概要表示へのリンクには、改めて感心させられました。この観点からは、また違ったアプローチですね。
ありがとうございました!
 
Joosy:
基本的にドキュメントは知っている。しかし、あなたが提供してくれた概要表示へのリンクに、私は再び刺激を受けています。この観点からは、また違ったアプローチですね。ありがとうございます!

パネルも試しましたが、常にチャート・ウィンドウの中にあるので、私にはあまり効果がありません。

そこで、インジケーター・ウィンドウに 全体を表示するようにしました。

 

パネルを作成するには、何十行ものコードを理解し、さらに何十行ものコードを作成する必要があります。その機能はすでに実装されており、選択または有効化(Enable)されているものと思っていたが、そうではなかった!

私は正方形を描画し、私のラッパーでそれらをラップするつもりです。

PS:記事へのファイルは別々に投稿する方が良い - ブラウザで表示することができます。

削除済み  

こんにちは、ウラジミール、


記事を本当にありがとうございました。 m_client_areaと m_background オブジェクトの色を 変更する際に気になった部分がありました:

   int total=AppWindow.ControlsTotal();
   CWndClient*myclient;
   for(int i=0;i<total;i++)
     {
      CWnd*obj=AppWindow.Control(i);
      string name=obj.Name();
      PrintFormat("%d is %s",i,name);
      //--- 色 
      if(StringFind(name,"Client")>0)
        {
         CWndClient *client=(CWndClient*)obj;
         client.ColorBackground(clrRed);
         myclient=client;
         Print("client.ColorBackground(clrRed);");
         ChartRedraw();
        }
      //---
      if(StringFind(name,"Back")>0)
        {
         CPanel *panel=(CPanel*) obj;
         panel.ColorBackground(clrGreen);
         Print("panel.ColorBackground(clrGreen);");
         ChartRedraw();
        }
     }

ハイライトされている部分が、私がよく分からなかった部分です。分解すると、すべてのコードが何をするのかは理解できるのですが、どうやるのかがよくわからないのです。 以下の2つのコードについてはわかりませんでした:


1.WndClient.mqhのようなコントロール・ ファイルにアクセスしているのでしょうか?

CWndClient *client=(CWndClient*)obj;

2.obj.Name();を他のコードに入れても理解できないので、そのコードが上のコードに固有なものであることはわかります。 ただ、それがどのようにフィットするのかがよくわかりませんでした。

obj.Name();


もしお時間があればお答えいただけるとありがたいです。

 
ctrading :

***

2.もう一つの質問は、objとName();は何なのかということです。 objはおそらくオブジェクトで、nameの部分はオブジェクトの名前です。 しかし、obj.Name();を他のコードに入れると、それを理解できません。 ただ、それがどのようにフィットするのかわかりませんでした。

obj.Name();

***

obj 変数は、for ループの1回の繰り返しの間だけ生きています

 

記事をどうもありがとう!

私は初心者プログラマーで、もっと複雑なパネルを作ろうとしています。

クラスヘッダにCLabelと CButtonを作成する のに何日か行き詰まりました。

例えば "ダッシュ "のような同じテキストを持つラベルをたくさん使うので

クラスヘッダー(プライベート)にたくさんのラベルを作成するために、ループか配列のようなものを見つけようとしています:

class CTradePanel : public CAppDialog
  {
private:
   
   CLabel            dashs[100];   //パネル上にたくさんのダッシュを作る
  }


どうすれば「ラベル」で配列を埋めることができますか?

私の考えでは、その後に以下のような関数を呼び出すつもりです:

for(int i=0 ; i<100 ; i++)
      {
       string dash_name = "dash_"+IntegerToString(i);
       if(!CreateLabel(chart,subwin,dash_name,"-",5*i,5*i))
         {
          return false;
         }
      }

しかし、それはエラーを返します:「dash_name' - パラメータの変換が許可されていません。

CLabel "で配列を埋めて、その "labels "をfor ループ関数で使うにはどうしたらいいでしょうか?

どなたか教えてください。

 
Guilherme Mendonca :

記事をどうもありがとう!

私は初心者のプログラマーで、もっと複雑なパネルを作ろうとしています。

クラスヘッダにCLabelと CButtonを作成する のに何日か行き詰まりました。

例えば "ダッシュ "のような、同じテキストを持つラベルをたくさん使うので。

クラスヘッダ(private)にたくさんのラベルを作成するために、ループか配列のようなものを見つけようとしています:


ラベル "で配列を埋めるには?

私のアイデアは、その後、私は以下の関数のいくつかの種類を呼び出すことです:

しかし、それはエラーを返します:「'dash_name' - パラメータの変換が許可されていません。

そこで、配列に "CLabel "を入れて、for ループ関数でこの "labels "を使うにはどうしたらいいでしょうか?

どなたか教えてください。

CArrayObj クラスを接続する必要があります。そして、ヘルプの例に従ってください。

Documentation on MQL5: Standard Library / Data Collections / CArrayObj
Documentation on MQL5: Standard Library / Data Collections / CArrayObj
  • www.mql5.com
CArrayObj - Data Collections - Standard Library - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5