FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
problema con popupmenu?
hola a todos.
Se puede hacer desaparecer un popupmenu solo com mover el raton. Quiero hacer algo como como un menu de una pagina web. Cuando me pocisione sobre un label que aparesca un popupmenu y cuando quite el cursor del raton del label que desparesca, sin nada de hacer clicks. Solo he podido hacer que aparescan los popups pero cuando uno aparece tengo que hacer click cualquier otro lado para que desparesca , lo que yo quiero es que funcione solo con el cursor del raton. Gracias de Antemano. |
#2
|
|||
|
|||
hola
es solo una idea, quiza una tonteria, pero hay va por si te sirve utiliza el evento OnMouseMove del componente que este debajo. cuando mueves el raton, fuera de tu popup se dispara el evento, le dices que lo quite y listo. ya contaras que tal un saludo |
#3
|
|||
|
|||
evento onmousemove no funka
no funciona el evento que sugeriste,
ya que al levantar el popupmenu se como si fuera otra ventana y no puedo volver atras hasta que haga click sobre una de las opciones o haga click fuera del popup. asi que alguna otra solucion? |
#4
|
|||
|
|||
envia algo de codigo
hola
ya que la solucion mas sencilla parece que no va, tendremos que pasar a otra cosa. lo primero es saber como haces la llamada, ver en que contexto nos movemos y a partir de hay, con una idea clara de lo que hace el codigo, ver lo que podemos hacer nosotros. asi pues pon el trozo de codigo donde llamas a un popup y veremos que se puede hacer un saludo |
#5
|
|||
|
|||
aqui el codigo que intente?
esta parte es de un label , y el popup que utilizo se llama Ipmenu1 por si acaso.
En la propiedad del label donde dice popup le puse el Ipmenu1 que cree. Código:
procedure TForm1.Label1MouseEnter(Sender: TObject); Label1.Color:=clBlue; Label1.font.Color:=clYellow; Label1.PopupMenu.Popup(290,170); end; procedure TForm1.Label1MouseLeave(Sender: TObject); begin Label1.Color:= clYellow; Label1.Font.Color:=clBlue; //Label1.PopupMenu. //lpmenu1.Destroy; end; ademas no se como ocultar el popup, por que no tiene ninguna propiedad hide o visible, asi que intente destruirlo pero sale un error y no creo que esa sea la mejor solucion. Y tampoco puedo pasar al evento mousemove del form hasta que haga clic sobre el mismo. Código:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin //form1.Label1.Color:=clBtnFace; Label1.PopupMenu.Destroy; end; |
|
|
|