GARANTIR DESCONTO

Fórum Menu popup em um button #323803

20/06/2006

0

Oi pessoal, preciso encontrar uma forma ou componente que ao usuário clicar no botão apareça tipo um menu popup, só que gostaria que fosse igual ao toolbutton, só que tem um detalhe o menu tem que exibir as opções para cima !
Achei aki no fórum uma dica do Michael para este assunto, ele cita o comando ClientToScreen, só que o menu é para abaixo do botão, outro detalhe é que estou tentando fazer com esta dica em diferentes resoluções de vídeo, e dá algumas diferenças de posições, será que tem jeito ?
Agradeço a ajuda !

César


Cesarpir

Cesarpir

Responder

Post mais votado

20/06/2006

Essa dica que o Michael respondeu pra mim aqui no fórum e revista pode ter ser util...

var 
  P1, P2: TPoint; 
begin 
  P1.X := Button.Left; 
  P1.Y := Button.Top + Button.Height; 
  P2 := ClientToScreen(P1); 
  PopupMenu.PopUp(P2.X, P2.Y); 
end;

espero ter ajudado :wink:


Paullsoftware

Paullsoftware
Responder

Gostei + 1

Mais Posts

20/06/2006

Cesarpir

Amigo paullsoftware então como disse no tópico esta dica é que estou usando no momento, mas para mim não serve totalmente, vamos dizer assim, gostaria que o menu ficasse para cima, só mais um detalhe tb que não disse os botões que disponibilizo na tela estão dentro de um panel com alinhado na parte de baixo do form, resumindo todos os botões que tenho ficam na parte inferior, portanto quando o menu aparece ele fica para baixo !

Valeu

César


Responder

Gostei + 0

20/06/2006

Michael

Colega [b:c12c5bee68]cesarpir[/b:c12c5bee68],

Vc precisa então mudar as coordenadas onde o menu vai aparecer. Ao invés de calcular o topo a partir do [b:c12c5bee68]Top [/b:c12c5bee68]do botão + sua altura, vc vai precisar calcular a altura que o menu vai ter - a soma da altura de todos os seus itens - e subtrair do topo do botão.

Não se esqueça de no final, antes de chamar o método [b:c12c5bee68]Popup[/b:c12c5bee68], usar [b:c12c5bee68]ClientToScreen [/b:c12c5bee68]para transladar as coordenadas para a tela.

[]´s


Responder

Gostei + 0

20/06/2006

Cesarpir

Ok amigo Michael vou tentar aki, obrigado, tudo uma questão de matemática né :oops:

Abraços

César


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar