Fare un progetto in crowdsourcing su Canvas - pagina 5

 
Реter Konow:

Nella mia implementazione, i punti A e B sono rappresentati dalla posizione di due oggetti - la coordinata X della traccia dello slider (il suo inizio) e la coordinata X dello slider.

lo stesso nella versione disegnata.

stai pensando in modo ristretto, discutendo su qualche ObjectGet/Set
almeno tre modelli si fondono nel controllo - grafica, eventi, dati.
non importa dove o come è disegnato. può essere in forma di testo come [.......|...]. può anche apparire sul canvas, o possono essere mostrati due oggetti MT rectangle.

Il modello degli eventi o dei dati non è influenzato da questo.

 
o_O:

è lo stesso nella versione disegnata.

state pensando in modo ristretto, parlando di qualche ObjectGet/Set
Il controllo fonde almeno tre modelli - grafica, eventi, dati.
Non importa dove e come è disegnato. Può essere in forma di testo come [.......|...]. Può anche apparire su una tela, o si possono avere due oggetti MT rectangle.

Il modello degli eventi o dei dati non soffre di questo.


Tuttavia, il meccanismo non mi è chiaro. Se puoi spiegare in modo più dettagliato, per un'idea generale, mi aiuterà molto a capire. grazie.
 

C'è una domanda fondamentale.

Diciamo che ci sono due applicazioni, pannelli, indicatori, su un grafico. Ognuno di loro dovrebbe disegnare sulla propria tela o entrambi su una comune?

Ci sono domande in entrambi i casi.

 
o_O:

non solo meno, ma nessuno (tranne bitmap_label, che è dove tutto è disegnato).

Sono solo curioso di sapere come implementate la gestione del testo (etichetta di testo, campo di input di testo). Una breve lista di problemi da risolvere:

  • Lavorare con gli alfabeti nazionali (Nei caratteri, per esempio, lo stesso Times New Roman ha un contorno per quasi tutti gli alfabeti dall'inglese al grande potente e alcuni Hindi).
  • Scalatura del testo: 6-8-10-12...72 punti - la stessa dimensione del carattere può essere impostata senza problemi. Il carattere tipografico Vectoral è più o meno quello per cui è stato creato.
  • Corsivo, grassetto, sottolineato - cosa creerete per ognuno di questi tipi di font o algoritmo di contorno?
  • La digitazione/editing, il controllo del cursore - fare tutto sotto forma di disegno è un compito infernale. Ad essere onesti, non riesco nemmeno ad immaginare come lo metterete in pratica.

E tutto questo sullo sfondo di controlli già funzionanti "etichetta di testo" e "etichetta di testo con modifica del testo". Gli unici problemi sono il limite di 32 caratteri e l'impossibilità di usare font integrati.

Ci vorrà molto tempo per risolvere tutti questi problemi, ma ne risolverete al massimo il 30%. Centinaia di kilobyte del vostro codice saranno al massimo un po' fuori dagli elementi standard, ma avranno le loro malattie, glitch e varie limitazioni spiacevoli. Ne hai davvero bisogno?

 
Vasiliy Sokolov:
Документация по MQL5: Графические объекты / TextOut
Документация по MQL5: Графические объекты / TextOut
  • www.mql5.com
Графические объекты / TextOut - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
o_O:

non solo meno, ma nessuno (tranne bitmap_label, che è dove tutto è disegnato).

Inoltre non dimenticare il modello di evento. Non è progettato per gestire eventi su tela. Tutto ciò che avrete è la pressione dei tasti in una certa area dello schermo + le coordinate del mouse. Sì, si può uscire da questa oscurità con OOP, ma l'uscita sarà difficile e molto lunga.

 
Реter Konow:

Ancora non capisco il meccanismo. Se puoi spiegare in modo più dettagliato, per un'idea generale, mi aiuterebbe molto a capire. grazie.
eseguire l'esempio kanvas dall'archivio xo. zip https://www.mql5.com/ru/forum/92113#comment_2672543
 
Vasiliy Sokolov:

Mi sto solo chiedendo come si implementa il lavoro del testo

come già mostrato - usiamo TextOut

Ucciderete un sacco di tempo per risolvere tutti questi problemi

Non sbatteremo la testa su ostacoli insormontabili. Se il MC non fornisce una soluzione a questi problemi, il tutto si fermerà.

Sto ancora aspettando una risposta da loro in SR.

Inoltre, non dimenticate il modello di evento. Non è progettato per gestire eventi sulla tela.

Ricordate che vi ho mostrato l'analogo del vostro pannello per il trading di ordini netti? Bene, CHARTEVENY_MOUSE_MOVE non viene usato lì, tutto viene analizzato da solo.

Credetemi, non c'è nessun problema con gli eventi o la visualizzazione del carrello di ingresso.

Ora la domanda riguarda solo gli eventi della tastiera.

 
o_O:

Ora il problema si è ridotto solo agli eventi della tastiera.

Con la tastiera, tutto è più o meno chiaro. C'è l'evento di premere un tasto e c'è il codice per questo tasto. Cosa volete di più?
 
o_O:

Chiederemo alla SR un perfezionamento.

A proposito, se me lo chiedete, renderebbe la vita molto più facile in termini di un normale DND introducendo l'evento OnMouseDown.