Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Parafraseando: Você terminará com uma EA com uma interface, mesmo que uma parte seja feita por mim e a outra parte seja com você. Isto não impedirá que você coloque as duas partes juntas em um único EA.
De qualquer forma, é o que faremos. Eu publicarei o construtor e ensinarei como projetar sobre ele aqui gui. Ainda não há documentação, portanto, se você estiver interessado, fique de olho no tutorial.
Copie isso!
Eu não gravei o vídeo, mas estou lhe enviando um exemplo.
há 600 listas suspensas.
Mova o mouse - com cada evento e mudança de cor o CCanvas em geral é redesenhado.
Você pode ver o tamanho final nas propriedades do bitmap - 1500x600 px (comparado ao seu atraso de 800x500 e 250ms). O que equivale a 900.000 pixels, e todos são redesenhados instantaneamente. Nenhum segundo está fora de questão.
Cada lista é apresentada primeiro em sua própria tela em seu próprio tamanho (para não transbordar) e, em seguida, arada sobre o conjunto. Portanto, temos 600 chamadas ResourceCreate por evento do mouse.
Isto significa, como você pode ver pela velocidade de reação, que os quadros são suficientes para mostrar os desenhos animados.
Os desenvolvedores de MT deram uma ferramenta satisfatória sem atrasos (quero dizer ResourceCreate bitmaps)
É possível ver este exemplo em código aberto?
É triste que o projeto tenha entrado em modo fechado (
Não foi a lugar algum.
É possível ver este exemplo em código aberto?
O que você não entende de kanvas?
1. reage a eventos como todos os outros objetos gráficos. Ou seja, você pode rastrear as coordenadas do mouse enquanto ele se move, reagir aos eventos de clique do mouse e do teclado.
2. Pode mudar independentemente a cor de cada pixel.
O que mais você precisa? E então você precisa de alguns cérebros e vontade de perder muito tempo inutilmente.
O que você não entende sobre trabalhar com um kanvas?
1. reage a eventos como todos os outros objetos gráficos. Ou seja, você pode rastrear as coordenadas do mouse enquanto ele se move, reagir aos eventos de clique do mouse e do teclado.
2. Pode mudar independentemente a cor de cada pixel.
O que mais você precisa? A próxima coisa que você precisa é um pouco de cérebro e um desejo de perder muito tempo.
O próprio kanvas não reage aos eventos. E o fato de que você pode mudar cada pixel é claro.
Estava interessado na implementação de um redesenho fragmentado da tela.
Mas parece que muitos se acomodaram à repintura total da tela, mesmo que ela só precise ser redesenhada em uma pequena parte, ou seja, um único controle.
Bem, o próprio kanvas não responde aos eventos. E o fato de que você pode mudar cada pixel é claro.
Eu estava interessado na implementação de um redesenho fragmentado da tela.
Mas parece que muitos se acomodaram à repintura total da tela, mesmo que ela precise apenas repintar uma pequena parte, ou seja, um controle.
A tela em si não reage aos eventos, mas ela não existe por si só.
Redesenho fragmentado - vale a pena começar a fazer e ficará mais claro se houver tal objetivo. Acho que deveria haver um conjunto de controles, cada controle tem limites definidos. Quando você precisa redesenhar um controle, você tem que passar por todos os controles, ver o que mais cai nesta área e apenas redesenhá-los. Pelo menos assim.
O kanvas em si não é reativo, mas não existe por si só.
Redesenho fragmentado - vale a pena começar a fazer e ficará mais claro se houver tal objetivo. Acho que deveria haver um conjunto de controles, cada controle tem limites definidos. Quando você precisa redesenhar um controle, você tem que passar por todos os controles, ver o que mais cai nesta área e apenas redesenhá-los. Pelo menos desta forma.
Foi exatamente assim que eu o construí. Basicamente tomei como base a biblioteca padrão, porque ela tem trabalhado muito bem momentos de transferência de eventos e algumas outras coisas. Anatoly cria agrupamento para cada classe diferente de elementos, enquanto em um padrão tudo é reduzido a um objeto básico.
Como resultado, o WndObject contém a descrição completa das propriedades mais comuns de qualquer controle (tamanho, localização, cor do fundo, cor da borda, espessura da borda, texto, imagem e assim por diante). Além disso, a mesma classe contém uma referência ao controle dos pais. Isto é, se nenhum pai é especificado para o controle, então ele cria seu próprio objeto kanvas no gráfico, caso contrário ele é desenhado no kanvas do pai. Dependendo de sua posição (autônomo, escravo), as coordenadas da localização do item também são calculadas. Além disso, o mesmo objeto tem uma matriz que contém a descrição original da área de origem ocupada pelo item. A idéia em si é a seguinte: se apenas o elemento em si muda, então antes de ser redesenhado, a área do pixel é preenchida com a matriz de pixels pai, e somente então o novo estado do controle é aplicado. esta abordagem não requer a repintura de toda a tela toda vez, pois a repintura está contornando todos os elementos da matriz, e recursivamente com os elementos aninhados. Para renderizar e atualizar um controle em particular, sugerimos duas funções: uma que desenha sobre o pai (ou sobre uma tela em branco) ao criar todo o controle, e outra que atualiza a exibição apenas do controle dado. Portanto, é assim.
Ainda "perdido" no modelo do evento: após o qual muda quais camadas precisam ser redesenhadas.
Nikolai em seus exemplos mostra que, em princípio, não é necessário se preocupar em armazenar dados de áreas locais porque a repintura de toda a tela funciona tão rapidamente que não há necessidade de descer aos detalhes, basta sempre repintar tudo de uma só vez.