Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2005
Avatar de User_baja1
User_baja1 User_baja1 is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
User_baja1 Va por buen camino
Angry menu lateral y el ratonnn

Hola a todos,
tengo una aplicacion mdi con un menu lateral. Dicho menu lo escondo o muestro segun la posicion del raton.

Cuando el raton lo acerco a la parte izquerda de la pantalla, saco el menu lateral y al sacar el raton fuera del menu lateral lo escondo.

El problema es que muchas veces no me hace caso y tengo que mover el raton hasta la derecha del todo para que se entere y esconda el menu lateral.

¿sabeis si puedo decirle que procese mejor los eventos del raton de alguna manera??

codigo:
En la ventana principal MDI, tengo en el evento onFormMouseMove:

FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Update;
if self.ActiveMDIChild<>nil then
if (Mouse.CursorPos.x<=30) and (Not menu_Lateral_fijo) then
ver_panel_de_menu(true)
else
ver_panel_de_menu(false);
Update;
end;



y en cada formulario Child en el evento FormMouseMove hago lo mismo



El problema es que no se entera cuando estando en los ventanas Child deberia esconder el formulario. ¿Sabeis como procesar mejor el evento para que se entere???

Gracias.
David.
Responder Con Cita
  #2  
Antiguo 11-03-2005
Avatar de User_baja1
User_baja1 User_baja1 is offline
Miembro
 
Registrado: feb 2005
Posts: 99
Poder: 20
User_baja1 Va por buen camino
yo mismo me contestoo

Vale, chicos... al final la solucion la tengo yo.
De todas formas la comento por si alguien tuviera algun problema parecido:


Como el problema era que las ventanas hijas no se enteraban, lo que he hecho es poner un Timer en el formulario principal y alli mismo compruebo las coordenadas del raton y proceso:

procedure TForm.Timer2Timer(Sender: TObject);
var position:TPoint;
begin
if MDIChildCount=0 then ver_panel_de_menu(true)
else begin
getcursorpos(position);
if (position.x<=5) then ver_panel_de_menu(true)
else
if (position.x> Panel_lateral.Width) then ver_panel_de_menu(false);
Update;
end;
end;

De todas formas gracias al foro.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:17:21.


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
Copyright 1996-2007 Club Delphi