キャンバスがカッコいい! - ページ 27 1...202122232425262728293031323334...93 新しいコメント Nikolai Semko 2019.08.24 08:05 #261 Aлександр Антошкин:イワン3世時代のモスクワ国王の時代から1918年まで、5世紀以上にわたって、さまざまな形、色、バージョンの2つの頭を持つ鷲が紋章に採用されてきたのは、遺伝子変異の結果である。 ピーターのどこを直したいのですか? 理屈がわからない。私が誰かの何かを正したいと思っているなんて、どこで見たんだ? Реter Konow 2019.08.24 08:28 #262 Nikolai Semko: 理屈がわからない。私が誰かから何かを訂正したいと思ったことがどこにありましたか? そんな微妙な荒らし方なんだ。私が遺伝子の突然変異によるどうしようもない結果であることを示唆している)筆者の他の投稿を読んで、筆者自身が当フォーラムの実験用AIなのではと思いました。)) https://www.mql5.com/ru/forum/221552/page1485#comment_12959767 От теории к практике 2019.08.23www.mql5.com Добрый вечер, уважаемые трейдеры! Решил было на какое-то время покинуть форум, и сразу как-то скучно стало:)))) А просто читать, увы - неинтересно... fxsaber 2019.08.24 21:30 #263 Aleksey Vyazmikin: ダニはこうして表現することができるのか。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム 指標:ZoomPriceティック指標 fxsaber, 2016.11.01 21:10 Aleksey Vyazmikin 2019.08.24 21:43 #264 fxsaber: つまり、ティックはバーとして 表示される必要があります - 5秒ずつとしましょう。 Evgeny Potapov 2019.09.11 13:52 #265 こんにちは。 Canvasでパネルを作成することは可能ですか?(CAppDialog)です。 直接、Add() で、CCanvas オブジェクトをパネルに追加することは、明らかにできません。 例えば、最初にリソースを作成 し、それをより単純なオブジェクトとして扱うことで、CAppDialogにバインドすることができるなど、回避策があるのではないでしょうか? でも、どんな機能を使ってそんな芸当をすればいいのか、よくわからないんです。 とにかく、助けて! このスレッドには素晴らしいものがたくさんあるので、この背景を考えると私の仕事はとても簡単なことのように思えます Nikolai Semko 2019.09.12 01:25 #266 Evgeny Potapov: こんにちは。 Canvasでパネルを作成することは可能ですか?(CAppDialog)です。 直接、Add() で、CCanvas オブジェクトをパネルに追加することは、明らかにできません。 例えば、最初にリソースを作成 し、それをより単純なオブジェクトとして扱うことで、CAppDialogにバインドすることができるなど、回避策があるのではないでしょうか? でも、どんな機能を使ってそんな芸当をすればいいのか、よくわからないんです。 とにかく、助けて! このトピックには素晴らしいものがたくさんあるので、この背景を考えると、私の仕事はとても簡単なものに思えます うまくいくか心配です。 CAppDialogはOBJ_RECTANGLEオブジェクト、CCanvasはOBJ_BITMAP_LABELオブジェクトで描画され、両者を交差させることはできないからです。 しかし、パネルウィンドウの上にキャンバスを描き、パネルの変化を監視すると同時に、キャンバスを再描画することは可能です。 こんな感じ。 // это эксперт #define protected public // увы, это необходимо, чтобы расширить наши возможности #include <Controls\Dialog.mqh> #include <Canvas\Canvas.mqh> #undef protected CAppDialog D; CCanvas C; int OnInit() { if(!D.Create(0,"AppWindow",0,100,100,400,300)) return(INIT_FAILED); D.Run(); if(!C.CreateBitmapLabel(D.m_chart_id,D.m_subwin,D.m_name+"_Canvas",D.m_rect.left,D.m_rect.top,D.m_rect.right-D.m_rect.left,D.m_rect.bottom-D.m_rect.top,COLOR_FORMAT_ARGB_NORMALIZE)) Print("Error creating canvas: ",GetLastError()); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { D.Destroy(reason); C.Destroy(); } //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam) { static int X=0, Y=0; D.ChartEvent(id,lparam,dparam,sparam); if (D.m_rect.left!=X || D.m_rect.top!=Y) { DrawCanvas(); X=D.m_rect.left; Y=D.m_rect.top;} } //+------------------------------------------------------------------+ void DrawCanvas() { // изменяем канвас в соответсвии положения и размера панели static int w=0, h=0, tf=0; int x=D.m_rect.left; int y=D.m_rect.top; int width = D.m_rect.right-x; int height =D.m_rect.bottom-y; ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_XDISTANCE,x); ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_YDISTANCE,y); if (w!=width) ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_XSIZE,width); if (h!=height) ObjectSetInteger(C.m_chart_id,C.m_objname,OBJPROP_YSIZE,height); if(w!=width || h!=height || tf!=_Period) { C.Erase(); // здесь формируем рисунок на панели C.FillCircle(50,20,30,ColorToARGB(clrViolet,200)); C.FillCircle(100,100,50,ColorToARGB(clrLightBlue,100)); C.Rectangle(200,50,250,150,ColorToARGB(clrAqua)); //---------------------------------- C.Update(); tf=_Period; w=width; h=height; } } が、パネルはオブジェクトの集合体なので、その集合体に別のものを追加するだけです。 つまり、この方法で、kanvasはパネルの座標の一箇所(この場合はDrawCanvas関数)にのみ描画され、パネルに貼り付けて再描画する心配はないのです。 Aleksei Beliakov 2019.09.12 06:20 #267 if (D.m_rect.left!=X || D.m_rect.top!=Y) DrawCanvas(); else {X=D.m_rect.left; Y=D.m_rect.top;}Else сработает только когда left=x и top=y , тогда зачем их присваивать ещё раз Nikolai Semko 2019.09.12 09:05 #268 Aleksei Beliakov: はい、ありがとうございます、アレクセイ。スローダウン )) 修正しました。 Evgeny Potapov 2019.09.12 14:20 #269 Nikolai Semko: これではダメだと思うのですが。 CAppDialogはOBJ_RECTANGLEオブジェクト、CCanvasはOBJ_BITMAP_LABELオブジェクトで描画されており、両者を統合する方法がないためです。 ありがとうございました。このバリアントは、かなりリアルに見えますね CAppDialogを拡張して、OBJ_BITMAP_LABELを 含めることは可能でしょうか? Nikolai Semko 2019.09.12 14:30 #270 Evgeny Potapov: ありがとうございました。このバリアントは、かなりリアルに見えますね CAppDialogを拡張して、OBJ_BITMAP_LABELを 含めることは可能でしょうか? もちろん、意欲と時間さえあれば可能です。 1...202122232425262728293031323334...93 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
イワン3世時代のモスクワ国王の時代から1918年まで、5世紀以上にわたって、さまざまな形、色、バージョンの2つの頭を持つ鷲が紋章に採用されてきたのは、遺伝子変異の結果である。
理屈がわからない。私が誰かの何かを正したいと思っているなんて、どこで見たんだ?
理屈がわからない。私が誰かから何かを訂正したいと思ったことがどこにありましたか?
そんな微妙な荒らし方なんだ。私が遺伝子の突然変異によるどうしようもない結果であることを示唆している)筆者の他の投稿を読んで、筆者自身が当フォーラムの実験用AIなのではと思いました。))
https://www.mql5.com/ru/forum/221552/page1485#comment_12959767
ダニはこうして表現することができるのか。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
指標:ZoomPriceティック指標
fxsaber, 2016.11.01 21:10
つまり、ティックはバーとして 表示される必要があります - 5秒ずつとしましょう。
こんにちは。
Canvasでパネルを作成することは可能ですか?(CAppDialog)です。
直接、Add() で、CCanvas オブジェクトをパネルに追加することは、明らかにできません。
例えば、最初にリソースを作成 し、それをより単純なオブジェクトとして扱うことで、CAppDialogにバインドすることができるなど、回避策があるのではないでしょうか?
でも、どんな機能を使ってそんな芸当をすればいいのか、よくわからないんです。
とにかく、助けて!
このスレッドには素晴らしいものがたくさんあるので、この背景を考えると私の仕事はとても簡単なことのように思えます
こんにちは。
Canvasでパネルを作成することは可能ですか?(CAppDialog)です。
直接、Add() で、CCanvas オブジェクトをパネルに追加することは、明らかにできません。
例えば、最初にリソースを作成 し、それをより単純なオブジェクトとして扱うことで、CAppDialogにバインドすることができるなど、回避策があるのではないでしょうか?
でも、どんな機能を使ってそんな芸当をすればいいのか、よくわからないんです。
とにかく、助けて!
このトピックには素晴らしいものがたくさんあるので、この背景を考えると、私の仕事はとても簡単なものに思えます
うまくいくか心配です。
CAppDialogはOBJ_RECTANGLEオブジェクト、CCanvasはOBJ_BITMAP_LABELオブジェクトで描画され、両者を交差させることはできないからです。
しかし、パネルウィンドウの上にキャンバスを描き、パネルの変化を監視すると同時に、キャンバスを再描画することは可能です。
こんな感じ。
が、パネルはオブジェクトの集合体なので、その集合体に別のものを追加するだけです。
つまり、この方法で、kanvasはパネルの座標の一箇所(この場合はDrawCanvas関数)にのみ描画され、パネルに貼り付けて再描画する心配はないのです。
はい、ありがとうございます、アレクセイ。スローダウン ))
修正しました。
これではダメだと思うのですが。
CAppDialogはOBJ_RECTANGLEオブジェクト、CCanvasはOBJ_BITMAP_LABELオブジェクトで描画されており、両者を統合する方法がないためです。
ありがとうございました。このバリアントは、かなりリアルに見えますね
CAppDialogを拡張して、OBJ_BITMAP_LABELを 含めることは可能でしょうか?
ありがとうございました。このバリアントは、かなりリアルに見えますね
CAppDialogを拡張して、OBJ_BITMAP_LABELを 含めることは可能でしょうか?
もちろん、意欲と時間さえあれば可能です。