Discussão do artigo "Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)" - página 10

 
Anatoli Kazharski:
Sim. Para funcionar corretamente, deve haver apenas uma janela principal agora. As demais são janelas de diálogo.
Eu estava falando sobre alterações em futuras compilações da biblioteca, que provavelmente não é necessário fazer essas alterações, porque o programa ainda deve ter uma janela principal, e as demais são janelas de diálogo))
 

A classe CTabs não possui rolagem de guias, não com uma barra de rolagem como em listas e tabelas, mas clicando em elementos de botão (esquerda/direita e/ou superior/inferior):

 
Konstantin:

A classe CTabs não possui rolagem de guias, mas não com uma barra de rolagem como em listas e tabelas, mas clicando em elementos de botão (esquerda/direita e (ou) superior/inferior):

Talvez, nos casos em que você precisar de muitas guias, uma variante com uma lista em árvore, cujos itens possam funcionar no modo "Tabs", funcione.

Para obter exemplos, consulte este artigo: GUIs VIII: Elemento de lista em árvore (Capítulo 2).

Seção:

Os itens de guia das listas "Advisors" e "Indicators" terão elementos como caixas de seleção (CCheckBox) e tabelas do tipo CTable. Vamos deixar os itens de guia da lista "Scripts" vazios para que você possa praticar rapidamente. Não forneceremos o código completo. Vale a pena observar apenas os principais modos e propriedades que serão usados nessa variante: (1) o modo de tabulação de item está ativado, (2) a exibição do conteúdo do item está desativada e (3) a terceira tabulação de item está destacada.


 
Anatoli Kazharski:

Talvez para os casos em que você precise de muitas guias, uma variante de lista em árvore, cujos itens possam funcionar no modo "Tabs", seja uma boa opção.

Para ver exemplos, consulte este artigo: GUIs VIII: Elemento de lista em árvore (Capítulo 2).

Seção:



Uma lista em árvore é útil quando há ramificações, mas no sistema de guias não há ramificações, é basicamente uma lista, representada pela classe CTabs, mas a essência é a mesma)) Na minha tela, você pode ver a rolagem padrão para guias, que é usada em várias estruturas que descrevem a GUI - .NET, Qt, MFC, etc. Acredito que em sua biblioteca esse mecanismo também será útil.
 
Konstantin:

Uma lista em árvore é útil quando há ramificações, mas no sistema de guias não há ramificações, é essencialmente uma lista, representada pela classe CTabs, mas a essência é a mesma )) Na minha tela, você pode ver a rolagem padrão para guias, que é usada em várias estruturas que descrevem a GUI - .NET, Qt, MFC, etc. Acredito que em sua biblioteca esse mecanismo também não será prejudicial.

Mas até que ele não esteja disponível, você pode usar uma variante da lista com itens-guias. Ela pode ser organizada sem ramificação.

P.S. Sei que muitas coisas estão implementadas em outras bibliotecas.

Agora estamos em um processo de otimização total do código. Muitos elementos semelhantes serão combinados em um único elemento para excluir várias repetições. O mesmo se aplica às propriedades do elemento. E, depois disso, veremos em que direção desenvolver ainda mais a biblioteca. Sem fanatismo, é claro.

 
Anatoli Kazharski:

Mas, até que o tenha, você pode usar uma lista com itens de registro. Ela pode ser organizada sem ramificação.

P.S. Eu mesmo sei que muitas coisas estão implementadas em outras bibliotecas.

Agora estamos em um processo de otimização total do código. Muitos elementos semelhantes serão combinados em um único elemento para excluir várias repetições. O mesmo se aplica às propriedades do elemento. E, depois disso, veremos em que direção desenvolver ainda mais a biblioteca. Sem fanatismo, é claro.

A propósito, como excluir um elemento em um objeto da classe CTabs, porque encontrei a adição, mas não consigo encontrar a exclusão ou, pelo menos, o método de limpeza das guias.
 
Konstantin:
A propósito, como excluir um elemento em um objeto da classe CTabs, pois encontrei a adição, mas não consigo encontrar a exclusão ou, pelo menos, o método de limpeza das guias.
Esse método ainda não existe. Talvez ele esteja em um artigo.
 
Por que, no objeto de classe CTabs, depois de adicionar uma guia com o método AddTab, ela não aparece, embora o método TabsTotal mostre que o número de guias aumentou?
 
Konstantin:
Por que, em um objeto da classe CTabs, depois de adicionar uma guia usando o método AddTab, ela não aparece, embora o método TabsTotal mostre que o número de guias aumentou?

Adicione as guias antes de criar o elemento. Consulte exemplos de artigos sobre esse ou aquele elemento. Se algo não for mencionado, significa que esse recurso ainda não existe.

Adicionar e excluir após a criação de um elemento funciona agora apenas em listas e tabelas.

 
Anatoli Kazharski:

Adicione guias antes de criar um elemento. Consulte os exemplos nos artigos sobre este ou aquele elemento. Se algo não for mencionado, significa que esse recurso ainda não existe.

A adição e a exclusão após a criação de um elemento funcionam agora apenas em listas e tabelas.

Ou seja, nessa classe, o método CreateTabs é fundamental para a criação de guias? E será correto alterar o número de guias se usarmos o método Delete e, depois disso, usarmos o método CreateTabs? Ou é necessário especificar todas as propriedades novamente após o método Delete, como na criação inicial?