Hola Ignacio,
Al mostrar un formulario con varios controles, entre ellos el switch, si se hace clic sobre el switch no se muestra el recuadro del foco... Si hacemos TAB entonces si lo muestra.
En el ejemplo que adjunto se ve el problema de la siguiente manera:
ejecutas el ejemplo
haces clic en el switch - No se muestra el recuadro del foco.
vuelves a ejecutar el ejemplo
haces TAB
haces clic en el switch - Se muestra el recuadro del foco
Saludos,
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.
Bug en Switch
-
- Mensajes: 133
- Registrado: Vie Jul 29, 2005 8:49 am
- Ubicación: Valencia - España
- Contactar:
Bug en Switch
- Adjuntos
-
- test.zip
- (2.2 KiB) Descargado 137 veces
- ignacio
- Site Admin
- Mensajes: 9256
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Bug en Switch
Buenos días,
Es el comportamiento correcto. El TAB no surge hasta que empieza el proceso de navegación con teclado:
Para más información consultar WM_QUERYUISTATE y UISF_HIDEFOCUS en el API de Windows.
Saludos
Es el comportamiento correcto. El TAB no surge hasta que empieza el proceso de navegación con teclado:
Código: Seleccionar todo
if( ( GetFocus() == hWnd ) && XA_ObjGetL( Self, "lTabStop" ) && ( ( SendMessage( hWnd, WM_QUERYUISTATE, 0, 0 ) & UISF_HIDEFOCUS ) == 0 ) )
DrawFocusRect( cp.hDC, &rect );
Saludos