Discussão do artigo "Melhoramos o trabalho com Painéis, adicionando transparência, alterando a cor do plano de fundo e herdando da CAppDialog/CWndClient" - página 2
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
Vladimir, obrigado pelos artigos, material muito útil. Talvez eu tenha uma pergunta mais ampla...
Há um objeto do tipo CBmpButton - um botão com uma imagem. Portanto, a própria imagem do botão funciona como um recurso aqui. Como obter acesso a suas propriedades? Ou isso é impossível?
Um exemplo da documentação.
Lá eu brinquei com o método CControlsDialog::CreateBmpButton1():
O objeto da própria imagem no painel não é encontrado usando ObjectFind(), o que é bastante natural. Como encontrá-lo, se é que isso é possível?
Obrigado.
Vladimir, obrigado pelos artigos, material muito útil. Talvez eu tenha uma pergunta mais ampla.....
Há um objeto do tipo CBmpButton - um botão com uma imagem. Portanto, a própria imagem do botão funciona como um recurso aqui. Como obter acesso a suas propriedades? Ou não posso?
Exemplo da documentação.
Lá eu brinquei com o método CControlsDialog::CreateBmpButton1():
O objeto da própria imagem no painel não é encontrado usando ObjectFind(), o que é bastante natural. Como encontrá-lo, se é que isso é possível?
Obrigado.
Uma imagem (desenho) não é um objeto. Os objetos são linhas, retângulos ... elementos gráficos.
Olá, Vladimir. Você adicionou um ClientArea adicional à janela. Em seguida, você usa o método CMyWndClient::ShiftButton para rolar os botões. Isso não é muito conveniente, pois pode haver muitos botões na janela. Além disso, pode haver muitos elementos de IU além dos botões. Portanto, você vê que escrever métodos para cada elemento e não se esquecer de chamá-los nos manipuladores de rolagem é um desafio. Não é mais fácil rolar o ClientArea? Então, todos os elementos da interface do usuário contidos nela serão rolados automaticamente. É suficiente especificar apenas a rolagem do ClientArea nos manipuladores.
Olá, Vladimir. Você adicionou um ClientArea adicional à janela. Em seguida, você usa o método CMyWndClient::ShiftButton para rolar os botões. Isso não é muito conveniente, pois pode haver muitos botões na janela. Além disso, pode haver muitos elementos de IU além dos botões. Portanto, você vê que escrever métodos para cada elemento e não se esquecer de chamá-los nos manipuladores de rolagem é um desafio. Não é mais fácil rolar o ClientArea? Então, todos os elementos da interface do usuário contidos nela serão rolados automaticamente. É suficiente especificar apenas a rolagem do ClientArea nos manipuladores.
Por favor, escreva um exemplo desse tipo. Acho que todos se interessarão por essa implementação.
Por favor, escreva um exemplo desse tipo. Acho que todos se interessarão por essa implementação.
Depois de pensar um pouco, descobri o problema. Essa rolagem não pode ser implementada devido à impossibilidade de ocultar parcialmente qualquer objeto do gráfico (nesse caso, são ClientArea e botões). Em outras interfaces de usuário, isso é implementado de forma diferente. Elas exibem uma área retangular que fica dentro da área de rolagem, e todo o resto fica oculto. Daí a confusão.