Discussão do artigo "Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)" - página 11
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
Ou seja, nessa classe, o método CreateTabs é fundamental para a criação de guias? Ao alterar o número de guias, seria correto usar o método Delete e depois usar o método CreateTabs? Ou é necessário especificar todas as propriedades novamente após o método Delete, como na criação inicial?
Sim. Especificamos as propriedades primeiro e depois criamos o item.
No momento, não há mecanismo para a exclusão correta de elementos em tempo de execução. Eles permanecerão na lista geral de elementos. Mas tente como você descreveu em sua pergunta. Ainda não testei essa forma.
Sim. Primeiro especificamos as propriedades e depois criamos o elemento.
No momento, não há mecanismo para a exclusão correta de elementos em tempo de execução. Eles permanecerão na lista geral de elementos. Mas tente como você descreveu em sua pergunta. Ainda não testei essa forma.
É assim que funciona:
Eu destaquei em cores o que não é mais necessário no método de criação de classe, pois é essencialmente usado no método ReInit.
Todos os mecanismos de evento e interação são descritos na classe de formulário principal do programa.
é assim que funciona:
Obrigado pelo exemplo. Interessante.
Obrigado pelo exemplo. Interessante.
Encontrei um erro: se não houver abas, ao alterar o tamanho do gráfico (formulário), o programa falha com o erro array out of range em 'Tabs.mqh' (821,21)
Encontrei um erro: se não houver abas, ao alterar o tamanho do gráfico (formulário), o programa falha com o erro array out of range em 'Tabs.mqh' (821,21).
Ao criar objetos (elementos de formulário), o método CWndContainer::AddToElementsArray(0, m_object); é usado. Existe algum mecanismo para remover corretamente um determinado objeto desse contêiner?
Isso é necessário ao criar/excluir gráficos, ao usar o mecanismo acima para adicionar/excluir guias.
Ao criar objetos (elementos de formulário), o método CWndContainer::AddToElementsArray(0, m_object); é usado. Existe algum mecanismo para remover corretamente um determinado objeto desse contêiner?
Isso é necessário ao criar/excluir gráficos, ao usar o mecanismo acima para adicionar/excluir guias.
Isso ainda não foi implementado.
Isso ainda não foi implementado.
Seria mais lógico fazer a exclusão a pedido do usuário da classe, porque trabalhar com objetos em dinâmica anima mais a interface. Para a minha tarefa, inserirei o número de gráficos pelo número de pares de tickers, mas como tenho 702 pares de tickers com base em 27 tickers, não é difícil calcular quais serão os freios se você for para outro mercado em que haja muito mais tickers ))
A propósito, também verificarei quanta memória será consumida por esse número de pares de tíquetes))
Ao executar a tarefa de adicionar/remover abas dinamicamente e adicionar/remover gráficos à matriz de abas, deparei-me com o problema da impossibilidade de obter o nome das abas na classe CTabs. Nesse sentido, sugiro que o desenvolvedor complemente essa classe com um método para obter o nome da guia:
A adição desse método é necessária devido ao fato de que, mesmo herdando da classe CTabs para complementar os métodos ausentes, será impossível implementar o método sobrecarregado Text, pois o objeto m_tab[] está na área protegida da classe. E editar a classe para se adequar a si mesmo viola o princípio da OOP.