Fare un progetto in crowdsourcing su Canvas - pagina 6

 
Комбинатор:

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.

Ora suggerisco di disegnare semplicemente qualche tela. Con tutti gli elementi su di esso.
Comunque, non saremo in grado di controllare il numero di tali istanze in esecuzione con canvas (o ci addentreremo nelle funzioni del sistema operativo per "l'interfaccia multi-finestra" su canvas. Potrebbe arrivare a questo punto, ma non ancora).

Di conseguenza - propongo di non fare interazioni tra i kanvas a livello di invio di "eventi finestra" tra di loro in questo momento.

Inoltre, non riesco a immaginare in questo momento come più ex5 possano scambiarsi dati sul contenuto di un singolo canvas condiviso.

 
Vasiliy Sokolov:
Con la tastiera, tutto è più o meno chiaro. C'è un evento quando viene premuto un tasto, c'è un codice per quel tasto. Cosa volete di più?

Sfortunatamente il codice non è completo. Oggi gli eventi del grafico non distinguono tra A e a

Ho già scritto su questo argomento nella SD

 
Комбинатор:
A proposito, penso che renderebbe la vita molto più facile in termini di un normale DND introducendo l'evento OnMouseDown.

L'evento CHART_MOUSE_MOVE in sparam invia lo stato dei pulsanti e della tastiera. = sinistra, destra, ctrl, shift, alt.

In altre parole il DND è implementato ora.

 
C'è un'altra domanda. Chi lo sa, mi spieghi per favore. Perché creare un campo di input utilizzando una nuova tecnologia, se questo controllo è già rappresentato da un singolo oggetto? Quali vantaggi, in termini di risparmio di risorse o di nuove caratteristiche può dare? In breve, perché?
 
o_O:

In altre parole, possiamo implementare DND ora.

Sì, ne sono consapevole, perché l'ho implementato nel mio recente progetto. Quindi ora il DND può essere implementato solo attraverso lo stronzo.

Prima di tutto per il normale drag and drop è necessario abilitare o disabilitare alcune proprietà del grafico, altrimenti il grafico viene trascinato insieme al canvas, ovviamente in quasi ogni caso dovremmo disabilitarle.

In secondo luogo, MouseMove non è legato a un oggetto, come Click, per esempio, quindi se ci sono due oggetti sotto il mouse, entrambi saranno trascinati. Nella libreria standard è così, a proposito.

E sarà così se non c'è una logica interna, selezionando quale oggetto tirare.

Così, il secondo problema dell'evento MoseDown sembra essere effettivamente risolto.

C'è anche un terzo punto. MouseMove è un evento spam. Dovrebbe essere forzato ad abilitare e quando è abilitato, sarà inviato a tutti i codici del grafico e può essere la causa di buoni freni a causa del numero di messaggi, quindi se c'è un modo per non usarlo, è meglio non usarlo.

 
Комбинатор:

Oh, c'è anche un terzo punto. MouseMove è un evento spam. Deve essere forzatamente abilitato e quando è abilitato sarà inviato a tutti i codici nel grafico e può causare buoni ritardi a causa del numero di messaggi, quindi se c'è un modo per non usarlo, è meglio non usarlo.

I ritardi, se ci sono, sono impercettibili a occhio nudo. Nel mio pannello una volta MouseMove inviava migliaia di elementi, anche invisibili, poi ha fatto un invio più intelligente, ma visivamente non ha aggiunto velocità.
 
Комбинатор:

Sì, ne sono consapevole, perché l'ho implementato nel mio recente progetto. Quindi ora il DND può essere implementato solo attraverso lo stronzo.

Il primo, per il normale drag and drop abbiamo bisogno di disabilitare e abilitare alcune proprietà del grafico, altrimenti il grafico viene trascinato insieme al canvas, ovviamente in quasi tutti i casi bisogna disabilitarle.

In secondo luogo, MouseMove non è legato a un oggetto, come Click, per esempio, quindi se ci sono due oggetti sotto il mouse, entrambi saranno tirati. Nella libreria standard è così, a proposito.

E sarà così se non c'è una logica interna, selezionando quale oggetto tirare.

Così, il secondo problema dell'evento MoseDown sembra essere effettivamente risolto.

C'è anche un terzo punto. MouseMove è un evento spam. Dovrebbe essere forzato ad abilitare e quando è abilitato, sarà inviato a tutti i codici del grafico e può essere la causa di buoni freni a causa del numero di messaggi, quindi se c'è un modo per non usarlo, è meglio non usarlo.

Ti rendi conto che se andiamo in kanvas - siamo da soli. Non ci sono più eventi di alto livello. Nessun oggetto mt che possa riceverli

Se solo i movimenti del mouse e gli stati dei pulsanti. non lo chiamerei stronzo )). è solo un evento di basso livello.

 
Vasiliy Sokolov:
Se c'è un ritardo, è invisibile a occhio nudo. Nel mio pannello una volta MouseMove inviava migliaia di elementi, anche invisibili, poi ho fatto un invio più intelligente, ma visivamente non ha aggiunto velocità.
Confermo.
Non posso dirvi quanto sarà veloce.
 
o_O:
Nad migliaia di oggetti non fanno la differenza in termini di velocità.
La questione non è il numero di articoli ma il numero di codici. E anche se un codice indicatore fa sempre qualcosa di difficile da ChartEvent.
o_O:

Vi rendete conto che se andiamo a fare un sondaggio, siamo da soli. Non ci sono più eventi di alto livello. Nessun oggetto mt per riceverli.

Se solo i movimenti del mouse e gli stati dei pulsanti. non lo chiamerei culo )). è solo un evento di basso livello.

C'è anche il livello di interazione con altri codici. Almeno, tra diverse istanze di un indicatore, per esempio. Dovresti tenerne conto.

Ma sì, tutto questo è chiaro.

 
Комбинатор:

C'è anche un livello di interazione con altri codici. Per esempio, tra diverse istanze di un indicatore. Bisogna tenerne conto.

Onestamente, non ho idea di che tipo di interazione tu stia parlando.

Diverse istanze di un indicatore vengono emesse su una tela?

Motivazione: