Discussão do artigo "Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)" - página 3

 
Pavel Kolchin:

m_text_label0t.LabelColor(0x00ff00);

m_text_label0t.LabelText("123");

Ele não funciona para mim.

Quero dizer, se você o chamar.

Print("color = "+m_text_label0t.LabelColor());

Print("text = "+m_text_label0t.LabelText());

as alterações estão lá, mas não visualmente.

Redesenhe-o.

 
Pavel Kolchin:

m_text_label0t.LabelColor(0x00ff00);

m_text_label0t.LabelText("123");

m_text_label0t.Update(true);

O que você acha disso?

 
Oleksii Chepurnyi:

...Update(true); - funciona, mas eu me pergunto por que outros elementos se atualizam sozinhos, mas este precisa ser atualizado


Você conseguiu fazer a seleção de texto no campo de entrada?

 
Pavel Kolchin:
....Update(true); - funciona, eu me pergunto por que outros elementos se atualizam, mas esse precisa ser atualizado
Não apenas esse elemento, mas muitas coisas precisam ser atualizadas. Levei muito tempo para me acostumar com isso :)
 
Pavel Kolchin:

Você conseguiu fazer a seleção de texto no campo de entrada?

   m_risk_value.GetTextBoxPointer().AutoSelectionMode(true);
Se eu entendi a pergunta corretamente....
 
Oleksii Chepurnyi:

Sim, no primeiro clique, todo o texto é destacado, o que já é bom, mas depois é impossível selecionar uma parte do texto, por exemplo

 
Pavel Kolchin:

Sim, no primeiro clique o texto inteiro é destacado, o que é bom, mas depois é impossível selecionar uma parte do texto.

Sim, isso existe, mas eu não havia notado antes. Terei que fazer algumas pesquisas quando voltar aos gráficos.....

Talvez o autor possa me dizer?

 

Eu fiz um para mim, talvez o autor possa usá-lo.

 

Não consigo fazer com que a imagem no botão de célula seja alterada. O índice da imagem muda sem problemas. Mas não consigo alterar a imagem em si.

Como fazer isso? Quais métodos redesenham o botão?

Se eu usar o método Update() para a instância CTable, o programa compila, mas não é executado, e diz "Invalid EX5 file (4)".

Tornei público o método Draw() do CTable, mas ele não é redesenhado.

Tentei o método Reset() de CWindow - aparentemente ele redesenhou a janela, pois ela ficou escura. Mas os botões não foram alterados.


Alguém conseguiu criar botões de célula com sucesso?

 
Artem Virskiy:

Se você usar o método Update() para a instância CTable, o programa será compilado, mas não será executado e escreverá "Invalid EX5 file (4)".


Alguém conseguiu criar botões de célula?

Eu criei os botões de células, mas não havia nenhuma tarefa para alterar a imagem....

O método Update() tem o redesenho definido como false por padrão. Com o redesenho, você precisa usar Update(true)