Fazendo um projeto de crowdsourced em Tela - página 2

 
Zorro:
Sobre o tema da utilização de kanvas como uma IU.

Eu diria que é uma beleza).

Estou muito satisfeito com a rapidez. tudo é bastante adequado em termos de tempo de renderização e controle.

 
Obrigado!

Esconderijo para GIF e PNG
Arquivos anexados:
ZoGIF.mqh  2 kb
ZoPNG.mqh  2 kb
 

Certo.

Como você já é um especialista com a prática de criar controles sobre kanvas,

por que você não descreve suas classes base e modelo de eventos em geral?

----

Podemos começar de sua base e depois adicionar mais controles
- botão
- campo de entrada
- deslizador
- lista suspensa (já em seu arquivo)
- seleção do tempo (já em seu arquivo)


 
As especificações devem ser colocadas em vírgulas invertidas :)

Neste momento estou muito ocupado com o trabalho principal, assim que estiver livre farei o esquema completo, não será antes de 25.07.2016.

Em termos gerais:

Objeto básico CFrame - objeto abstrato sobre tela, tem x,y, largura, altura e um conjunto de métodos virtuais para manipulação de eventos (OnMouse..., OnNotify, OnPaint), pode conter outros objetos CFrame.

CWindow é um descendente de CFrame, que implementa uma tela e é um objeto gráfico em um gráfico, recebe e lida com eventos externos (OnChartEvent), distribuindo-o a objetos (criança) que residem sobre ele.
Todos os objetos GUI são gerados a partir da CFrame, complementando-a com os métodos necessários

O projeto P&F Chart não tem um controlador de eventos global, ele é necessário para aplicações com 2 ou mais janelas (leia-se kanvas).
É o que deve distribuir eventos para as janelas e monitorar a captura de uma instância (teclado + mouse) por controles GUI.

 
O problema com o campo de entrada é que não há uma boa idéia de como usar o que está disponível.

IMHO neste momento, você só pode fazer um EDIT completo se você desenhar seu próprio teclado GUI, mas seria difícil suportar idiomas e é inconveniente digitar com um mouse...
 
Renat Fatkhullin:
A propósito, no MetaEditor você pode iniciar projetos, convidar outros participantes, dar-lhes direitos e trabalhar em conjunto no projeto.

Você se refere ao armazenamento MQL5?

Renat, você poderia me dizer com mais detalhes onde ler sobre este mecanismo?

Tenho usado o Staorage MQL5 desde seu lançamento, mas ainda não encontrei a opção de acesso de grupo lá.

 
Clique com o botão direito do mouse no projeto, selecione "Adicionar direitos de acesso" no menu, já usei isso em um dos meus projetos irmãos, é bastante útil - tudo está na ponta dos dedos...
 

OK.

o CFrame é claro.

---

Eu notei que você seguiu o caminho onde os blocos de gui são representados cada um por seu próprio bitmap.

um ponto importante para quem lê isto e já começou a pensar sobre o assunto:
O trabalho deve ser feito apenas em um bitmap, com todos os elementos de engano nele apresentados. Com a ordem z em mente.
Neste caso, haverá mais possibilidades de renderização. (sombras, gradientes, etc.).
E o controle é simplificado (não iremos para o nível de objetos MT)

 
Zorro:
O problema com o campo de entrada é que não há uma boa idéia de como usar o que está disponível.

IMHO neste momento, você só pode fazer um EDIT completo se você desenhar seu próprio teclado GUI, mas seria difícil suportar idiomas e é inconveniente digitar com um mouse...
hmm, qual é o problema de editar?
 
Yuriy Zaytsev:

Você se refere ao armazenamento MQL5?

Renat, você poderia nos dizer onde ler mais sobre este mecanismo?

Tenho usado o Staorage MQL5 desde seu lançamento, mas ainda não encontrei a opção de acesso compartilhado lá.

Projetos - MetaEditor
Os Projetos MetaEditor permitem aos programadores desenvolver remotamente aplicações em MQL4/MQL5. Os projetos são implementados especificamente para este fim. Os projetos são implementados através do Armazenamento MQL5. Assim, um usuário deve ter uma conta válida na MQL5.community, assim como a MQL5 Storage. Trabalhar com projetos tem todas as vantagens do armazenamento MQL5: armazenamento seguro do código fonte. No caso de uma falha no disco rígido, a cópia local dos códigos pode ser rapidamente recuperada do armazenamento. Acesso ao armazenamento a partir de qualquer computador. Você pode entrar no MetaEditor usando sua conta MQL5.community e acessar o projeto a partir de qualquer PC. O acesso a cada projeto é definido apenas por um autor do projeto (um usuário que o criou). Ninguém pode acessar um projeto sem a permissão do autor. A pasta de projetos na MQL4 ou MQL5 é destinada a projetos compartilhados. No Navegador é...

MetaTrader 5 Ajuda | 2015.12.02 10:22

E em geral, você precisa testar o trabalho conjunto com os projetos - acho que haverá perguntas.