Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   problema con popupmenu? (https://www.clubdelphi.com/foros/showthread.php?t=28155)

coolfrog 12-12-2005 03:35:57

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.

madriles 13-12-2005 09:30:57

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

coolfrog 13-12-2005 22:52:24

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?

madriles 14-12-2005 08:52:36

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

coolfrog 15-12-2005 03:39:50

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;

esto es lo ultimo que probe:
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;



La franja horaria es GMT +2. Ahora son las 14:16:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi