Hola.
Sabe alguiuen como capturar los mensajes:
WM_ENTERSIZEMODE 0x0231
WM_WXITSIZEMODE 0x9232
Necesito capturarlos desde una MDICHILD para controlar cuando refrescarla tras cambiarla de tamaño. Creo que sería interesante para mucha gente por lo que he leido en el foro.
Capturar mensajes
- karinha
- Posts: 7935
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Capturar mensajes
Hay más comands interesantes no incluidos en mi version de FWH (2007):
WM_WINDOWPOSCHANGING 0x0046
WM_WINDOWPOSCHANGED 0x0047
WM_SIZING 0x0214
No se si en otras versiones los han tenido en cuanta.
WM_WINDOWPOSCHANGING 0x0046
WM_WINDOWPOSCHANGED 0x0047
WM_SIZING 0x0214
No se si en otras versiones los han tenido en cuanta.
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
Re: Capturar mensajes
Supongo que estos mensajes se pueden capturar desde el método HANDLEEVENT de la clase TWindow, pero preguntaba si no hubiera otra forma de hacerlo sin tener que modificar esa clase.
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 75 times
- Contact:
Re: Capturar mensajes
Antolin,
La forma correcta sería heredar una nueva clase a partir de TWindow e implementar su Método HandleEvent() en donde se atienda a esos mensajes.
Nosotros podriamos usar un codeblock y evaluarlo para cada mensaje de Windows, pero decidimos no hacerlo al entender que enlenteceria mucho la aplicación ya que constantemente se generan muchísimos mensajes de Windows.
La forma correcta sería heredar una nueva clase a partir de TWindow e implementar su Método HandleEvent() en donde se atienda a esos mensajes.
Nosotros podriamos usar un codeblock y evaluarlo para cada mensaje de Windows, pero decidimos no hacerlo al entender que enlenteceria mucho la aplicación ya que constantemente se generan muchísimos mensajes de Windows.
Re: Capturar mensajes
Gracias Antonio. Efectivamente modificando la TWindow no va, pero modificando la MDICHILD SI.
Ya sé cuano he termindado de redimensionar la pantalla para refrescar los controles. Ahora voy a ver si averiguo que mensaje recibe cuando le doy al boton "Restaurar" de la Barra de Titulos.
Gracias otr avez.
Ya sé cuano he termindado de redimensionar la pantalla para refrescar los controles. Ahora voy a ver si averiguo que mensaje recibe cuando le doy al boton "Restaurar" de la Barra de Titulos.
Gracias otr avez.
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
Re: Capturar mensajes
OK averiguado es: WM_SIZE 0x0005
Si WParam = 0 la pantalla ha sido restaurada (ni maximizada ni minimizada).
Si WParam = 1 la pantalla ha sido minimizada.
Si WParam = 2 la pantalla ha sido maximizada.
Si WParam = 3 (para pop_ups) cuando otra pantalla ha sido restaurada.
Si WParam = 4 (para pop_ups) cuando otra pantalla ha sido maximizada.
LParam trae las nuevas dimensiones del area de clientes. La parte LOW trae el Width y la parte HIGH el HEIGHT. A ver como las separo ahora...
Si WParam = 0 la pantalla ha sido restaurada (ni maximizada ni minimizada).
Si WParam = 1 la pantalla ha sido minimizada.
Si WParam = 2 la pantalla ha sido maximizada.
Si WParam = 3 (para pop_ups) cuando otra pantalla ha sido restaurada.
Si WParam = 4 (para pop_ups) cuando otra pantalla ha sido maximizada.
LParam trae las nuevas dimensiones del area de clientes. La parte LOW trae el Width y la parte HIGH el HEIGHT. A ver como las separo ahora...
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55
- Antonio Linares
- Site Admin
- Posts: 42521
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 31 times
- Been thanked: 75 times
- Contact:
Re: Capturar mensajes
Gracias Antonio.
Lo he resuelto con nHeight := int(LParam/65536) y nWidth := LParam-(nHeight*65536) pero utilizaré las tuyas que son más racionales.
Lo he resuelto con nHeight := int(LParam/65536) y nWidth := LParam-(nHeight*65536) pero utilizaré las tuyas que son más racionales.
Peaaaaaso de foro...
FWH 2007 - xHarbour - BCC55
FWH 2007 - xHarbour - BCC55