int MouseX; // coordinate X of the current position of the mouse pointerint MouseY; // coordinate Y of the current position of the mouse pointerdouble MouseBar; // the current bar position of the mouse pointerdouble MousePrice; // the current price of the mouse pointerdatetime MouseTime; // the current time of the mouse pointer
どのオブジェクトに対してヒントを出力するかを計算していました。
inputuint i_uFontSize = 14; // Размер шрифта в подсказках#define TOOLTIP_BGCOLOR color(C'255,255,225')
int g_nTooltipWidth = <ширина блока в пикселах>;
int g_nTooltipHeight = <высота блока в пикселах>;
int nY = <расчет положения левого верхнего угла для подсказки>;
Canvas.FillRectangle(W.MouseX, nY, W.MouseX + g_nTooltipWidth, nY + g_nTooltipHeight, ColorToARGB(TOOLTIP_BGCOLOR));
Canvas.Rectangle(W.MouseX, nY, W.MouseX + g_nTooltipWidth, nY + g_nTooltipHeight, ColorToARGB(clrBlack));
Canvas.TextPosition(W.MouseX + 5, nY + 2);
Canvas.CurentFont("Arial", i_uFontSize, i_uFontSize + 2, clrBlack);
Canvas.Comm("<первая строка подсказки>");
Canvas.Comm("<вторая строка подсказки>");
Canvas.Comm("<третья строка подсказки>");
個々のグラフィックス要素に マウスを合わせたときに、ツールチップ(tooltip)を異なる形で表示することは可能でしょうか?
CHARTEVENT_MOUSE_MOVE を追跡して、マウスカーソルの座標を使用していました。これは、Canvas では、任意のテイストと色のデータセット全体で表現されています。
どのオブジェクトに対してヒントを出力するかを計算していました。
そう言った んです。
ちょっと疑問なんですが、私のアドバイスを繰り返すだけでなく、自分でできるんでしょうか?
2つは簡単に出力できる...
コードお願いします。
もしダメなら、明日起きたら自分で書きます。でも、その時はフェドセーエフをバカ呼ばわりしますよ。))
これは、私が最初に話した 、図書館なしで、フェドセーエフが譲歩しようとした遠回りな方法です(大差はありません)。
これは、あなたの状況をより良く解決するものです。
これは、私が最初に話した 、図書館なしで、フェドセーエフが譲歩しようとした遠回りな方法です(大差はありません)。
この方がより正しい解決方法です。
が、ChartGet関数の非同期性の問題は、これでは解決しないことを理解する必要があります。
これらの機能は、99.76%ではなく、99.1%という低い消費率になりました。
もし、非同期でなければ、すべてがチャートと一緒に動き、少し遅れることはないでしょう。
さらに感動したのがここ。
それは驕りですね。でも、そのユーモアのジョークが何なのかすらわからないでしょう。恥ずかしいですね。フェドセーエフが合併したのか何なのか?
。
フライを失くすぞ、ベイビー。
例を挙げていただき、ありがとうございました非常に分かりやすく、有益で、しかも迅速。
オブジェクトリストのカンヴァス上の例のグラフィックは、すべて1つのオブジェクトのように見えます。
別々のグラフィック アイテムにマウスを合わせたときに、異なるツールチップ(tooltip)を表示させることは可能でしょうか?
それとも、矩形ごとに別のキャンバスオブジェクトを作成してもよいのでしょうか?速度に影響が出ないか?
もしお時間があれば、回答、もしかしたらコードサンプルもお待ちしています。
1つのオブジェクトに対して1つのキャンバスを使用するのではなく、1つのキャンバスを使用することができます。
さらに少し速くなり、コードもそれほど大きくはならないでしょう。少なくとも、モノより少ない。
Kanvasはとても速いです。オブジェクトも、数が多すぎなければ良い。ボトルネックは、オブジェクトが数百、千となったときに発生します。
ちなみに、JavaScriptでも同じです。また、キャンバスやオブジェクト(htmlやCVG)もあります。キャンバスは、スピードとグラフィック性能では常に勝っていますが、コントロールと管理の使いやすさでは負けています。
JSでは、私自身、canvasとベクターオブジェクト(html、css、svg)を積極的に混在させ、両方の利点を活かしています。
しかし、MQL5でキャンバスを使用する際の(オブジェクトと同様に)本当の最大の問題は、ChartGet関数の信じられないほどのダサさです。
しかし、これは価格チャートにバインドしようとしている場合です。
チャート全体を無効にして、自分でチャートを描けば、そのような問題は発生しません。
この場所にさらに感動した。
それは驕りですね。でも、ユーモアのジョークが何なのかすらわからないでしょう。恥ずかしいですね。地元の古参の方で、いつも何かと気の利いたことをおっしゃるので驚きます。
目的のない年月を苦痛に感じないように。
CHARTEVENT_MOUSE_MOVE をトラッキングして、マウスカーソルの座標を使用していましたが、Canvas ではすべてのテイストと色のデータセットで表現されています。
で、どのオブジェクトに対してヒントを表示するかを計算する。
を使用すると、1つのCanvasではなく、オブジェクトごとに1つのCanvasを使用することができます。
さらに少し速くなり、コードもそれほど大きくならないでしょう。少なくとも、モノより少ない。
Kanvasはとても速いです。オブジェクトも、数が多すぎなければ良い。オブジェクトが数百、千になると速度低下が発生する。
ありがとうございます。両方のバリエーションをテストしてみます。
ありがとうございます。両方の選択肢を確認してみる。
Vitalyさん、YouTubeのビデオエディターは何を使っていますか?
とてもクールですね。
Adobe Premiere Pro?