 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
Minotti Novato

Registrado: Sexta-Feira, 19 de Abril de 2013 Mensagens: 36
|
Enviada: Sex Abr 26, 2013 6:40 pm Assunto: Duvidas, me ajudem por favor. |
|
|
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 |
|
 |
alexbandeira Mestre


Registrado: Terça-Feira, 27 de Julho de 2004 Mensagens: 812 Localização: Paulista - PE
|
Enviada: Sex Abr 26, 2013 7:52 pm Assunto: |
|
|
Cara:
pelo que percebi ele está passando alguns parametros do poup para o button. _________________ Conhecemos um grande homem pelas pequenas atitudes. |
|
| Voltar ao Topo |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Sex Abr 26, 2013 11:32 pm Assunto: |
|
|
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 |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|