Hola,
El proyecto que os acompaño al hacer click sobre la cabecera del
recordselector aparece otro formulario modal.
La cuestión es que no se como evitar que el header del recordselector
quede con el 'efecto presionado' hasta que no se hace click en el nuevo
formulario. Además, si movemos el ratón por encima de los otros headers
del browse aparece una 'sombra'.
Espero haberme explicado bien.
Saludos,
José Luis Capel
PD: por cierto, confirmo lo que comenta Miguel Torrellas de que se
dispara el onBtnClick tanto en el botón como en el control edit de la celda.
--
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Efecto extraño en cabecera recordselector
- ignacio
- Site Admin
- Mensajes: 9448
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Efecto extraño en cabecera recordselector
José Luis,
El Header es un control del API y por lo tanto no podemos hacer mucho para
evitar ese comportamiento extraño directamente sobre el control. Te propongo
dos formas de evitarlo:
1) Abre el formulario de forma no modal y deshabilita el principal mientras
este abierto:
METHOD PRUEBAS CLASS tForm1
LOCAL oForm
oForm := tForm2():New( Self )
oForm:OnClose := {|| ::lEnabled := .t. }
oForm:Show()
::lEnabled := .f.
RETUR NIL
2) Utiliza el mensaje WM_XAILER para provocar la acción:
CLASS TForm1 FROM TForm
METHOD WMXailer() INLINE ::Pruebas()
ENDCLASS
METHOD FormInitialize( oSender ) CLASS TForm1
::oArrayBrowse1:oHeader:OnClick := {|o, nX, nY, nItem| iif( nItem == 1,
::PostMsg( WM_XAILER ), )}
RETURN Nil
Saludos,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:442d0bd9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> El proyecto que os acompaño al hacer click sobre la cabecera del
> recordselector aparece otro formulario modal.
>
> La cuestión es que no se como evitar que el header del recordselector
> quede con el 'efecto presionado' hasta que no se hace click en el nuevo
> formulario. Además, si movemos el ratón por encima de los otros headers
> del browse aparece una 'sombra'.
>
> Espero haberme explicado bien.
>
> Saludos,
> José Luis Capel
> PD: por cierto, confirmo lo que comenta Miguel Torrellas de que se
> dispara el onBtnClick tanto en el botón como en el control edit de la
> celda.
>
El Header es un control del API y por lo tanto no podemos hacer mucho para
evitar ese comportamiento extraño directamente sobre el control. Te propongo
dos formas de evitarlo:
1) Abre el formulario de forma no modal y deshabilita el principal mientras
este abierto:
METHOD PRUEBAS CLASS tForm1
LOCAL oForm
oForm := tForm2():New( Self )
oForm:OnClose := {|| ::lEnabled := .t. }
oForm:Show()
::lEnabled := .f.
RETUR NIL
2) Utiliza el mensaje WM_XAILER para provocar la acción:
CLASS TForm1 FROM TForm
METHOD WMXailer() INLINE ::Pruebas()
ENDCLASS
METHOD FormInitialize( oSender ) CLASS TForm1
::oArrayBrowse1:oHeader:OnClick := {|o, nX, nY, nItem| iif( nItem == 1,
::PostMsg( WM_XAILER ), )}
RETURN Nil
Saludos,
"José Luis Capel" <joseluis@iaicom.com> escribió en el mensaje
news:442d0bd9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> El proyecto que os acompaño al hacer click sobre la cabecera del
> recordselector aparece otro formulario modal.
>
> La cuestión es que no se como evitar que el header del recordselector
> quede con el 'efecto presionado' hasta que no se hace click en el nuevo
> formulario. Además, si movemos el ratón por encima de los otros headers
> del browse aparece una 'sombra'.
>
> Espero haberme explicado bien.
>
> Saludos,
> José Luis Capel
> PD: por cierto, confirmo lo que comenta Miguel Torrellas de que se
> dispara el onBtnClick tanto en el botón como en el control edit de la
> celda.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Efecto extraño en cabecera recordselector
Ignacio,
>
> 2) Utiliza el mensaje WM_XAILER para provocar la acción:
>
> CLASS TForm1 FROM TForm
> METHOD WMXailer() INLINE ::Pruebas()
> ENDCLASS
>
> METHOD FormInitialize( oSender ) CLASS TForm1
> ::oArrayBrowse1:oHeader:OnClick := {|o, nX, nY, nItem| iif( nItem == 1,
> ::PostMsg( WM_XAILER ), )}
> RETURN Nil
>
Voy a probar esta segunda manera. Muchas gracias por tu ayuda.
Saludos,
José Luis Capel
>
> 2) Utiliza el mensaje WM_XAILER para provocar la acción:
>
> CLASS TForm1 FROM TForm
> METHOD WMXailer() INLINE ::Pruebas()
> ENDCLASS
>
> METHOD FormInitialize( oSender ) CLASS TForm1
> ::oArrayBrowse1:oHeader:OnClick := {|o, nX, nY, nItem| iif( nItem == 1,
> ::PostMsg( WM_XAILER ), )}
> RETURN Nil
>
Voy a probar esta segunda manera. Muchas gracias por tu ayuda.
Saludos,
José Luis Capel