記事"グラフィカルインタフェースX: テキストボックスコントロール(ビルド4)"についてのディスカッション

 

新しい記事 グラフィカルインタフェースX: テキストボックスコントロール(ビルド4) はパブリッシュされました:

マルチラインテキストボックスについて説明します。OBJ_EDIT型のグラフィカルオブジェクトとは異なり、ここで説明されるバージョンには入力文字数の制限がありません。また、カーソルをマウスまたはキーを使用して移動してテキストボックスをシンプルなテキストエディタに切り替えるモードも追加されています。

CTextBox(テキストボックス)型のコントロールのコードを説明する前に、データ入力の手段となるキーボードを簡単に説明する必要があります。また、コントロールクラスの最初のバージョンでどちらのキーが処理されることかを示します。 

キーボードのキーはいくつかのグループに分けられます(図1の表記を参照)。

  • コントロールキー(橙色)
  • ファンクションキー(紫)
  • 英数字キー(青)
  • ナビゲーションキー(緑)
  • 数字キーパッド(赤)

 図1 キーグループ(QWERTYキーボードレイアウト)

図1 キーグループ(QWERTYキーボードレイアウト)

作者: Anatoli Kazharski

 

まずは記事をありがとう。

とても大きなお願いですが、GIFアニメーションを作って ください。エレメントがどのように機能するかを客観的に把握することは不可能です。目で見る必要がある。

難しくなければ。

ありがとうございました。

 
Реter Konow:

...

とても大きなお願いですが、GIFアニメーションを作ってください。エレメントの働きを客観的に知ることは不可能です。目で見る必要があります。

ファイルをパソコンにダウンロードして、自分でテストしてください。gifアニメーションより 良いはずです。
 
Anatoli Kazharski:
あなたのコンピューターにファイルをダウンロードして、自分でテストしてみてください。gifアニメーションよりも良いものになるでしょう。

私のイメージはこうだ:

1.OOPの学習を終える。

2.ライブラリのすべての相互関係(クラス、関数、変数など)を勉強する。

3.記事で説明されている要素を実装したEAを書く。しかし、これでも困難があるかもしれない。それを解決するために、私はここであなたとやり取りをしなければならないだろう。


もちろん、この選択肢の方が良いのですが、それを実行できるのは数週間後、あるいは数ヶ月後でしょう。

そして、ここで、数十分で、結果は誰もが見ることができる...。

さて、どうしたものか...。

 
Реter Konow:

私のイメージはこうだ:

1.OOPの学習を終える。

2.クラス、関数、変数など、ライブラリの相互関係を最後まで勉強する。

3.記事で説明されている要素を実装したExpert Advisorを書く。しかし、これでも困難があるかもしれない。それを解決するために、私はここであなたとやり取りしなければならない。


もちろん、この選択肢の方が良いのですが、私が実装できるのは数週間後、あるいは数ヶ月後でしょう......。

そして、ここで、数十分で、結果は誰もが見ることができる...。

さて、どうしたものか...。

記事の最後にあるアーカイブからファイルをダウンロードし、テスト用のExpert Advisorをコンパイルするだけです。1分も かかりません。
 
 
Anatoli Kazharski:

ありがとう。

カーソルは完璧にテキストの上を走ります。マウスとキーで移動します。テキストはスクロールする。それはわかった。

でもわからないのは、どうやってテキストがキャンバスに乗るのかってことなんだ。あなたはビデオでそれを示さなかった。

 
Реter Konow:

...

でも、どうやって文字がキャンバスに入るのか理解できない。あなたはビデオでそれを見せなかった。

キーボードからテキストを入力するのと同じように、キャンバスにもテキストが入ります。ビデオでもそれを見せている(「Hello world!」というテキストを入力する)。

テスト用のファイルをダウンロードして、自分で試してみてください。

 
Anatoli Kazharski:

キーボードから入力したのと同じように、キャンバスにも入力される。ビデオでもその様子を見ることができる。

テスト用のファイルをダウンロードして、自分で試してみてください。

ビデオでは、上部の入力フィールドに テキストを入力しています。「Hello world!"はキャンバスに表示されません。それが私が質問している理由です。


追加しました:

ライブラリをダウンロードしたのですが、正直なところ、どうすればいいのかさっぱりわかりません。説明書もありません。

 
Реter Konow:
ビデオでは、上部の入力 ボックスにテキストを入力している。"Hello world!"はキャンバスに入りません。だから質問しているのです。

動画では、記事で実装したCTextBox クラスを使って作成した2つの入力フィールドがあります。

最初の入力フィールドは単一行モードです。つ目の入力フィールドは複数行モードです。この点については、記事のセクションで述べられています:

テスト用に、2つのテキスト入力フィールドを持つグラフィカル・インターフェースを持つMQLアプリケーションを作成しましょう。1つは単一行、もう1つは複数行です。

質問や発言をする前に、まず記事を読み、提供されているテスト用ファイルをテストしてみるべきだろう。これは議論に必要な最低限のことです。

 
Anatoli Kazharski:

ビデオでは、記事で実装したCTextBox クラスを使って作成した2つの入力フィールドを示しています。

最初の入力フィールドは単一行モードです。つ目の入力フィールドは複数行モードです。これは記事のセクションで説明されています:

質問や発言を する前に、まず記事を読み、提供されたテストファイルをテストしてみてはいかがでしょうか?これは議論に入るために最低限必要なことです。

ところで、私は何も発言していない。記事を読みましたが、主要なことが理解できませんでした(コードが多く、目が混乱してしまいました)。

もし可能なら、いくつかの質問にお答えください:

1.項目テスト・アプリケーションでは、文字列で初期化された配列が宣言されています。これは、文字列がそこからキャンバスに行くということでしょうか、それともキャンバスに直接印刷できるのでしょうか?

2.一番上の入力フィールドは独立しており、一番下のキャンバスとは何の関係もないのですか?ということは、文字列はそこからウェブには転送されないということですか?入力文字数を増やすのが目的?

3.キャンバスのテキストはプログラム内部で初期化され、キャンバスには書き込まれないのであれば、なぜ実行中のカーソルが必要なのですか?

4.カーソルでウェブ上のテキストを消して、キーボードから追加することは可能ですか?


ありがとうございます。