Menu popup em um button
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
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
Curtidas 0
Melhor post
Paullsoftware
20/06/2006
Essa dica que o Michael respondeu pra mim aqui no fórum e revista pode ter ser util...
espero ter ajudado :wink:
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:
GOSTEI 1
Mais Respostas
Cesarpir
20/06/2006
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
Valeu
César
GOSTEI 0
Michael
20/06/2006
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
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
GOSTEI 0
Cesarpir
20/06/2006
Ok amigo Michael vou tentar aki, obrigado, tudo uma questão de matemática né :oops:
Abraços
César
Abraços
César
GOSTEI 0