記事"グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9)"についてのディスカッション

 

新しい記事 グラフィカルインタフェースX:レンダーテーブルの新機能(ビルド9) はパブリッシュされました:

今日までは、ライブラリの最も高度なテーブルはCTableでした。このテーブルは、OBJ_EDIT型のエディットボックスから組み立てられており、さらなる開発は難しいです。したがって、機能の最大化においては、ライブラリ開発の現段階を考慮しても、CCanvasTable型のレンダーテーブルを開発する方が賢明です。その現バージョンはまったく使えない状態ですが、この記事から始めて状況を改善していきましょう。

多くのテーブルおよびOS環境では、カーソルが2つのヘッダー間の境界線を横切るとポインタが変化します。以下のスクリーンショットはMetaTrader 5取引端末のツールボックスウィンドウに表示されているテーブルの例を示しています。この新しく出現したポインタがクリックされると、列の幅を変更するモードが切り替わります。この列の背景色も変わります。

図4 ヘッダージョイントの境界線をホバリングするときのマウスポインタ

図4 ヘッダージョイントの境界線をホバリングするときのマウスポインタ

作者: Anatoli Kazharski

 
エレメントがどのように機能するか、アニメーションの例を作ってくれてありがとう。素晴らしいね。)
 
列のテキストが幅を変えるソリューションはとてもいい。描画されたテーブルの スクロールも素晴らしい。感動しました。

あなたの記事の中で、キャンバス上のテーブルをインタラクティブにすると言っていたのを覚えています。

ライブラリのさらなる開発計画について教えてください。

ありがとうございます。
 
Реter Konow:
列のテキストが幅を変えるソリューションはとてもいい。描画されたテーブルのスクロールも素晴らしい。感動しました。あなたの記事の中で、キャンバス上のテーブルをインタラクティブにすると言っていたのを覚えています。 ライブラリのさらなる開発計画について教えてください。 ありがとうございます。





最後の記事は図書館開発の第2段階です。すべての要素が最終的に描かれ、必要なすべての機能が提供されます。

次の記事では、描画されたテーブルの更新と、いくつかのメソッドのアルゴリズムの最適化が行われる予定です。

 
Anatoli Kazharski:

最後の記事は、ライブラリー開発の第2段階である。最終的にはすべての要素が描かれ、必要なすべての機能が提供される。

私は、あなたがこれらすべてを行えることを信じて疑いません。

しかし、描画されたGUIの作成については疑問があります。あなたのライブラリで使われている技術とはまったく異なる技術が必要だと思いませんか?

結局のところ、もし私の考えが正しければ、あなたはこれまでやってきたことをほとんどすべて書き直さなければならないでしょう。

異なるテクノロジーは、異なるアプローチと異なるソリューションを必要とする。今キャンバス上にあるあなたのテーブルは、古いテクノロジーの中に新しいテクノロジーが実装された特殊なケースに過ぎない。私の仕事では、このようなことはよくあることで、たいていは新しいステージの始まりと新しいグローバルな再設計を示している。その瞬間から、新しいテクノロジーはその領域を征服し始め、これまでのすべてのソリューションやアプローチを壊し、作り変える。

これは、古いが安定し、完全に機能している開発の中に、突然新しいアプローチが現れるという「憂慮すべき」兆候である。)

私はこのような経験を何度もしてきた。

おそらく、あなたはどうにかして、以前に行われたすべてのことをやり直す苦痛を避けることができ、新しいテクノロジーはあなたのライブラリに簡単かつ自由に導入され、あなたの労働力と時間で高い代償を支払う必要がなくなるでしょう。

それが私にとってかけがえのない手本となり、私の世界観を変えることになるのだから)。

幸運を。

 
Реter Konow:
...

おそらく、これまで行われてきたことをすべてやり直すという苦痛をどうにか避けることができ、新しいテクノロジーは簡単かつ自由にあなたのライブラリーにもたらされる。

選択した方式は、結果的に良いものだった。私はすでにこの方式でエレメントをレンダリングする技術をテストしており、すべてが非常にうまく機能している。次の記事では、それを実証する非常に良い例をご覧いただけます。
 
それはいいね。ああ、このような記事をデザインするのがいかに難しいかは想像できる。特に、リソースに掲載されているコードで、グローバルなリファクタリングにおいて不本意ながら自分自身を制限している場合はね。
 
Igor Volodin:
それはいいね。ああ、このような記事をデザインするのがいかに難しいかは想像できる。特に、リソースにコードをアップロードすることで、グローバルなリファクタリングにおいて不本意ながら自分自身を制限してしまう場合はね。

この制限はどのような形で表現されるのですか?

リファクタリングは行われますが、ここでは段階的なプロセスです。一度にあれこれアルゴリズムの最適版を見つけることはできない。スキームも徐々に調整していく。何をどう改善すればいいのか思いついたら、すぐに変更を加える。

 
新しいビルドでColorPickerに問題があります。TestLibrary04の例ではうまく動作しますか?
MQL4でコンパイルされたライブラリを使用しています。
TestLibrary04では、Tab1のColorButtonをクリックすると、オブジェクトのない空のウィンドウ(W_DIALOG型)が開きます。
MQL4をサポートしていないことは知っていますが、MQL4が原因ではないと思います。
 
stt:

新しいビルドでColorPickerに問題があります。TestLibrary04の例ではうまく動作しますか? MQL4でコンパイルされたライブラリを使用しています。 TestLibrary04では、Tab1のColorButtonをクリックすると、オブジェクトのない空のウィンドウ(W_DIALOG型)が開きます。MQL4をサポートしていないことは知っていますが、MQL4が理由ではないと思います。


MetaTrader 5を使用してください。MetaTrader4バージョンはもうサポートされていませんので、アドバイスはできません。
 
stt:

新しいビルドでColorPickerに問題があります。TestLibrary04の例ではうまく動作しますか? MQL4でコンパイルされたライブラリを使用しています。 TestLibrary04では、Tab1のColorButtonをクリックすると、オブジェクトのない空のウィンドウ(W_DIALOG型)が開きます。MQL4をサポートしていないことは知っていますが、MQL4が原因ではないと思います。