Discussão do artigo "Estudando a Classe CCanvas. Como Desenhar Objetos Transparentes" - página 2

 
denkir:

A pergunta é a seguinte. Qual seria a melhor implementação para mover o kanvas pelo gráfico? Algo como o método:

"canvas" - cria OBJ_BITMAP_LABEL ou OBJ_BITMAP padrão . Na ajuda, há funções sobre como colocá-los no gráfico

 //+------------------------------------------------------------------+
//|| Move o objeto "Graphic Label".
//+------------------------------------------------------------------+
bool BitmapLabelMove(const long   chart_ID=0,      // ID do gráfico
                     const string name="BmpLabel", // nome da tag
                     const int    x=0,             // Coordenada do eixo X
                     const int    y=0)             // Coordenada do eixo Y
  {
//--- redefinir o valor do erro
   ResetLastError();
//--- mover o objeto
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x))
     {
      Print(__FUNCTION__,
            ": Falha ao mover a coordenada X do objeto! Código de erro = ",GetLastError());
      return(false);
     }
   if(!ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y))
     {
      Print(__FUNCTION__,
            ": Falha ao mover a coordenada Y do objeto! Código de erro = ",GetLastError());
      return(false);
     }
//--- execução bem-sucedida
   return(true);
  }

Não notei a discussão acima de imediato :) - na verdade, o mesmo que ZORDER, apenas X e Y

 
MigVRN:

"canvas" - cria OBJ_BITMAP_LABEL ou OBJ_BITMAP padrão . Há funções na ajuda para colocá-los no gráfico

Não notei a discussão acima de imediato :) - na verdade, o mesmo que ZORDER, apenas X e Y

Aha, obrigado, funcionou... Eu mesmo tentei usar o ObjectMove...

Estou criando um painel usando kanvas.... Preciso movê-lo o máximo possível no gráfico....
 
denkir:

Sim, obrigado, funcionou... Eu mesmo tentei usar o ObjectMove...

Estou criando um painel com a ajuda do kanvas... Preciso movê-lo o mais longe possível no gráfico...
E se o painel for criado com base em uma caixa de diálogo padrão? Então, todos os elementos criados na caixa de diálogo e adicionados a ela serão arrastados junto com a caixa de diálogo.
 
barabashkakvn:
E se o painel for criado com base em um diálogo padrão? Então, todos os elementos criados no diálogo e adicionados a ele serão arrastados junto com o diálogo.
Sim, é um recurso útil, eu concordo... Tenho feito isso até agora... mas há uma dúvida sobre como adicionar gráficos personalizados ao painel.... Em geral, é necessário criar um controle semelhante ao kanvas: public CWndObj. Agora estou pensando sobre essa questão...
 
denkir:
Sim, um recurso útil, eu concordo..... Tenho feito isso até agora... mas havia uma dúvida sobre como adicionar gráficos personalizados ao painel.... em geral, é necessário criar um controle semelhante ao kanvas: public CWndObj. Agora estou pensando sobre essa questão...

Assista ao vídeo da postagem.

Depois de 15 de março, o código-fonte estará disponível

 
denkir:
Sim, um recurso útil, eu concordo..... Tenho feito isso até agora... mas havia uma dúvida sobre como adicionar gráficos personalizados ao painel.... em geral, é necessário criar um controle semelhante ao kanvas: public CWndObj. Agora estou pensando sobre essa questão...

O que você quer dizer com"gráficos personalizados"?

  • Quero dizer, é algo que você desenha como programador?
  • Quero dizer que ele tira uma foto do usuário do programa e essa foto deve ser exibida na tela?
 
barabashkakvn:

O que você quer dizer com "gráficos personalizados"?

  • como se fosse algo que você desenha como programador?
  • Quero dizer, ele tira uma foto do usuário do programa e essa foto deve ser exibida na tela?
Sim, eu fui vago..... Eu me referia à capacidade de criar figuras dinamicamente diferentes por meio de métodos da classe CCanvas...
 

Vladimir, gostaria de lhe perguntar outra coisa.

Há um painel do tipo CAppDialog. Que um de seus elementos seja um rótulo gráfico do tipo CBmpButton. Então, existe alguma maneira de criar uma tela e vinculá-la ao rótulo especificado? O objetivo é ter um elemento de painel controlável com recursos gráficos personalizados...?

Obrigado.

 
denkir:

Vladimir, gostaria de lhe perguntar outra coisa.

Há um painel do tipo CAppDialog. Que um de seus elementos seja um rótulo gráfico do tipo CBmpButton. Então, existe alguma maneira de criar uma tela e vinculá-la ao rótulo especificado? O objetivo é ter um elemento de painel controlável com recursos gráficos personalizados...?

Obrigado...

Você pode criar telas (ou seja, várias telas) sem vincular a um objeto gráfico por meio do método Create e, em seguida, atribuir esses recursos ao BmpButton. Você pode até tentar fazer animação. A propósito, quero pensar em animação por um longo tempo.
 

Vladimir, obrigado pela dica, deu tudo certo!

Sim, as telas são muito poderosas :-)

Estamos aguardando seus artigos interessantes!