ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Duvidas, me ajudem por favor.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Minotti
Novato
Novato


Registrado: Sexta-Feira, 19 de Abril de 2013
Mensagens: 36

MensagemEnviada: Sex Abr 26, 2013 6:40 pm    Assunto: Duvidas, me ajudem por favor. Responder com Citação

Olá galera, seguinte, eu criei um botão e quero que ele tenha o mesmo efeito do combobox, só que a diferença entre ele e o combobox é que nao quero que apareça aquela seta do lado direito. Pois bem, eu criei um botao(Operaçao) e adicionei um Popupmenu, nesse popup eu adicionei Cadastrar e Reprovar.

Até ai beleza. entao pedi ajuda para um amigo meu e ele fez o seguinte código : PopupMenu1.Popup(butOperacao.ClientToScreen(Point(0, butOperacao.ClientHeight)).X, butOperacao.ClientToScreen(Point(0, butOperacao.ClientHeight)).Y);

E após esse código, eu clico no botao Operação ele ganha o efeito do combobox, aparece Cadastrar e Reprovar.

Está funcionando perfeitamente, a minha única dúvida é em saber oq esse código esta fazendo. Desculpe se minha pergunta é meio estranha, é que estou começando agora e nao quero ficar perdido pelos códigos.

Att.

Minotti
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
alexbandeira
Mestre
Mestre


Registrado: Terça-Feira, 27 de Julho de 2004
Mensagens: 812
Localização: Paulista - PE

MensagemEnviada: Sex Abr 26, 2013 7:52 pm    Assunto: Responder com Citação

Cara:

pelo que percebi ele está passando alguns parametros do poup para o button.
_________________
Conhecemos um grande homem pelas pequenas atitudes.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Sex Abr 26, 2013 11:32 pm    Assunto: Responder com Citação

Olá, Minotti.
Esse código está posicionando a exibição do PopupMenu em um determinado ponto da tela, onde esse ponto é a área do botão. Ou seja, esse código simula o clique do botão direito em um local da tela.
Note que ele utilizou as propriedades X e Y para obter a posição onde o botão está. A partir disso, basta exibir o PopupMenu nessa posição.
Acho que pra ficar mais fácil, vamos "quebrar" as instruções:
Código:
var
  Ponto: TPoint;
  PosicaoX: Integer;
  PosicaoY: Integer;
begin
  // encontra a posição do componente na área do formulário
  Ponto := Point(0, butOperacao.ClientHeight);

   // obtém a posição X do botão
  PosicaoX := butOperacao.ClientToScreen(Ponto).X;

   // obtém a posição Y do botão
  PosicaoY := butOperacao.ClientToScreen(Ponto).Y;

  // dispara o menu Popup no cruzamento da posição X com Y
  PopupMenu1.Popup(PosicaoX, PosicaoY);
end;

Espero ter ajudado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB