Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д. Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
もっと見る
ウィンドウ領域上でマウスの右ボタンをクリックすると、メニューが表示されます。マウスをシフトして、左ボタンでクリックします。これにより、ウィンドウが移動します。
可能です。ちなみに、私は自分で開発・テストをしているので、その過程で偶然に遭遇するまでバグを知らないだけなのです。全部一人でやってるんですけど...。
以下は私の例で、添付ファイルでは3つのウィンドウが重なり合っています。
1つのウィンドウにサブウィンドウを作成するのは、このように、コードを追加することなくエンジンを使うだけです。ただし、上のボタンをクリックしたときのイベントの処理は 除く。
上部のボタンをクリックしたときのイベントを処理します。
複数のボタンがあり、親ウィンドウは1つだけ
そんなバグがあったんですね。修正しました。イベント自体は問題なく修正されていますが、コード開発で避けられない様々な変更でバグが発生します。
そう、複雑なんです。
デモでの一枚。
ただ、この場合、まずイベントとウィンドウコントロールを凝る必要があり、あとは簡単なのですが、やることはたくさんあるのです。
その下地はすでにできているのです。
1: ウィンドウには閉じるボタンと折りたたみボタンが必要です(最低限)。
2: ウィンドウをクリックすると、ウィンドウが重なって再描画されるようにする。
3: マウスでウィンドウが移動するようにします。
4: カーソルが移動したときに、チャート上でウィンドウが「検出」(フォーカスされる)されること(ポイント イベント)。
5.ウィンドウのすべての要素は、ウィンドウの共通の「マップ」上にあり、マウスがホバーされた(イベントがポイントされた)ときに検出される必要があります。
最もシンプルな要素。
1.静的で、次元の変わらない、消えないWindow。
2.ボタンです。
3.チェックボックス
4.ラジオボタンです。
5.タブ
6.線、枠、仕切り、長方形。
中程度の複雑さの要素。
1.スライダー
2.プログレスバー
3.入力欄です。
4.スクロールするフィールド。
5.シンプルなリスト項目。
高難易度項目。
1.ドロップダウン・リスト(非常に複雑な要素)。
2.ダイナミック(伸縮自在)なウィンドウ。超複雑。
コントロールの種類は約50種類。それぞれ、対応するエンジン機能でサポートされる、共通かつ独自のプロパティセットを 持つ必要があります。プロパティが100以上でないと、エレメントの働きが著しく制限されます。
単純な形や線であれば、それほど多くのプロパティは必要ありませんが、複雑な要素になればなるほど、その数は多くなります。しまった、テーブルを忘れていた!外はジャングルですからね... ))))
そして、ツリー状のリスト、あらゆる種類のコラプサー...。
しまった、テーブルを忘れていた!外はジャングルですからね... ))))
ツリー状のリストや、いろいろなコラプサーも...。
私の場合、表示ウィンドウ(テーブルの可視領域)、すべてのセルが収まる必要があるフルサイズのウィンドウ、それはメインウィンドウ内でスライドします、行とその中のセルのウィンドウ、さらにスクロール(バーで囲まれたスライダー)、平均よりも複雑ではありません "ジャングル "です。相対位置の制約は、プロパティによって決定される。スライダーのみ、オブジェクトの移動イベントを インターセプトし、すでに「フルサイズウィンドウ」の位置を修正する必要があります。これはすべて仮想ウィンドウで行われます。ビジュアル部分をボルトで固定する必要があり、ビジュアル部分がなければ、ライン用のウィンドウとフルサイズのウィンドウが存在します。そして、編集可能なセルには、入力フィールドを作ります(これはカスタムです)。その他のことは、すべてエンジンが処理します。以上が可能性ですが、ウィンドウが多すぎる場合(大きなリスト、テーブル、数千のウィンドウ)にパフォーマンスを上げるためのアイデアもいくつかあります。