Diskussion zum Artikel "Grafische Oberfläche X: mehrzeiliges Textfeld (build 8)"

 

Neuer Artikel Grafische Oberfläche X: mehrzeiliges Textfeld (build 8) :

Beschreibung eines mehrzeiligen Textfeldes. Anders als bei Grafikobjekten des Typs OBJ_EDIT ist die vorgestellte Version nicht durch eine Anzahl von Buchstaben beschränkt. Es gibt auch die Funktionen eines einfachen Editors, mit einem durch Maus oder Tasten bewegten Kursor.

Autor: Anatoli Kazharski

 

Zunächst einmal vielen Dank für den Artikel.

Sehr große Bitte - bitte machen Sie eine Gif-Animation. Es ist unmöglich, eine objektive Vorstellung davon zu bekommen, wie das Element funktioniert. Man muss es mit eigenen Augen sehen.

Wenn das nicht schwierig ist.

Ich danke Ihnen.

 
Реter Konow:

...

Eine sehr große Bitte - bitte machen Sie eine Gif-Animation. Es ist unmöglich, sich ein objektives Bild von der Arbeit des Elements zu machen. Man muss es mit eigenen Augen sehen.

Laden Sie die Dateien auf Ihren Computer herunter und testen Sie es selbst, bitte. Es wird besser sein als eine Gif-Animation.
 
Anatoli Kazharski:
Laden Sie die Dateien auf Ihren Computer herunter und testen Sie sie selbst, bitte. Es wird besser sein als eine Gif-Animation.

Ich stelle mir das folgendermaßen vor:

1. Beende das Lernen von OOP.

2. alle Zusammenhänge der Bibliothek studieren - ihre Klassen, Funktionen, Variablen....

3. einen EA schreiben, der das im Artikel beschriebene Element implementiert. Aber auch dabei kann es Schwierigkeiten geben, und ich werde hier mit Ihnen korrespondieren müssen, um Ihnen zu helfen, diese zu lösen.


Natürlich ist diese Option besser, aber ich werde sie erst in ein paar Wochen oder vielleicht Monaten umsetzen können....

Und hier, ein paar Dutzend Minuten und das Ergebnis wird von allen gesehen werden...

Nun, komm schon...

 
Реter Konow:

Ich stelle mir das folgendermaßen vor:

1. OOP zu Ende lernen.

2. alle Zusammenhänge der Bibliothek bis zum Ende studieren - ihre Klassen, Funktionen, Variablen....

3. einen Expert Advisor schreiben, der das im Artikel beschriebene Element implementiert. Aber auch dabei kann es zu Schwierigkeiten kommen, und ich werde hier mit Ihnen korrespondieren müssen, um Ihnen zu helfen, sie zu lösen.


Natürlich ist diese Option besser, aber ich werde sie erst in ein paar Wochen oder vielleicht Monaten umsetzen können....

Und hier, ein paar Dutzend Minuten und das Ergebnis wird von allen gesehen werden...

Nun, komm schon...

Alles, was Sie tun müssen, ist, die Dateien aus dem Archiv am Ende des Artikels herunterzuladen und den Expert Advisor für den Test zu kompilieren. Sie brauchen dafür nicht mehr als eine Minute.
 
 
Anatoli Kazharski:

Ich danke Ihnen.

Der Cursor läuft perfekt über den Text. Er wird mit der Maus und den Tasten übertragen. Der Text scrollt. Das habe ich herausgefunden.

Aber was ich nicht verstehe, ist, wie der Text auf die Leinwand kommt. Das haben Sie in dem Video nicht gezeigt.

 
Реter Konow:

...

Aber ich verstehe nicht, wie der Text auf die Leinwand kommt. Du hast es im Video nicht gezeigt.

So wie man Text über die Tastatur eingibt, kommt er auch auf die Leinwand. Und das Video zeigt es auch (Eingabe des Textes 'Hello world!').

Laden Sie die Dateien für den Test herunter und versuchen Sie es selbst.

 
Anatoli Kazharski:

So wie Sie es über die Tastatur eingeben, wird es auch auf der Leinwand angezeigt. Auch das zeigt das Video.

Laden Sie die Dateien für den Test herunter und probieren Sie es selbst aus.

Im Video geben Sie einen Text in das Eingabefeld oben ein. "Hallo Welt!" kommt nicht auf die Leinwand. Das ist der Grund, warum ich frage.


Hinzugefügt:

Ich habe die Bibliothek heruntergeladen, habe aber ehrlich gesagt keine Ahnung, wie man das alles macht. Es gibt keine Anleitung.

 
Реter Konow:
Im Video geben Sie Text in das Eingabefeld oben ein. "Hallo Welt!" erscheint nicht auf der Leinwand. Deshalb frage ich.

In dem Video gibt es zwei Eingabefelder, die mit der im Artikel implementierten Klasse CTextBox erstellt wurden.

Das erste Eingabefeld befindet sich im Einzeilenmodus. Das zweite Eingabefeld ist im Mehrzeilenmodus. Der Artikel spricht darüber im Abschnitt:

Für den Test erstellen wir eine MQL-Anwendung mit einer grafischen Oberfläche, in der es zwei Texteingabefelder geben wird. Eines wird einzeilig und das andere mehrzeilig sein.

Vielleicht sollten Sie, bevor Sie Fragen stellen und Erklärungen abgeben, zunächst den Artikel lesen und die bereitgestellten Dateien zu Testzwecken ausprobieren? Das ist das Mindeste, was nötig ist, um zu einer Diskussion zu kommen.

 
Anatoli Kazharski:

Das Video zeigt zwei Eingabefelder, die mit der in diesem Artikel implementierten Klasse CTextBox erstellt wurden.

Das erste Eingabefeld ist im Einzeilenmodus. Das zweite Eingabefeld ist im Mehrzeilenmodus. Dies wird im Artikel im Abschnitt beschrieben:

Vielleicht sollten Sie, bevor Sie Fragen stellen und Behauptungen aufstellen, zuerst den Artikel lesen und die mitgelieferten Testdateien testen? Das ist ein notwendiges Minimum, um zur Diskussion zu kommen.

Im Übrigen habe ich keine Aussagen gemacht. Ich habe den Artikel gelesen, aber ich habe das Wesentliche nicht verstanden (es gibt viel Code und meine Augen verlieren sich).

Wenn Sie können, beantworten Sie bitte ein paar Fragen:

1. In der Item-Testanwendung wird ein mit Strings initialisiertes Array deklariert. Bedeutet dies, dass die Strings von diesem Array auf die Leinwand übertragen werden, oder können sie direkt auf die Leinwand gedruckt werden?

2. Das obere Eingabefeld ist unabhängig und hat keine Beziehung zum unteren Canvas? Der Text wird also nicht von ihm auf die Leinwand übertragen? Dient es dazu, die Anzahl der Eingabezeichen zu erhöhen?

3. wenn der Text auf der Leinwand im Programm initialisiert und nicht auf die Leinwand geschrieben wird, warum braucht man dann einen laufenden Cursor?

4. Ist es möglich, den Text auf der Leinwand mit dem Cursor zu löschen und über die Tastatur hinzuzufügen?


Vielen Dank!