Bug in checkbox in folder (dot border) with themes (fixed)

Bug in checkbox in folder (dot border) with themes (fixed)

Postby carlos vargas » Tue Jan 03, 2006 6:05 pm

Hola Antonio,

este codigo muestra un error que tiene hace tiempo fwh con los checkbox
cuando estan contenidos en folder, si empiezas a presionar la tecla tab para moverte entre los controls del dialogo miraras que la primera vez quel el chekbox obtenga foco no mostrara el tipico borde punteado, la siguiente ves lo tomara pero al perder el foco mantiene el borde.

esto no ocurre cuando no aplicas el tema de winxp.

Code: Select all  Expand view
//win32.prg
#include "fivewin.ch"

PROCEDURE Main()

   LOCAL oDlg, oFolder
   LOCAL cVar0, cVar1, cVar2, lVar1, lVar2

   cVar0 := space(10)
   cVar1 := space(20)
   cVar2 := space(20)
   lVar1 := .t.
   lVar2 := .t.

   DEFINE DIALOG oDlg NAME "Main"

   REDEFINE GET cVar0 ID 101 OF oDlg

   REDEFINE FOLDER oFolder ID 102 OF oDlg ;
      PROMPT "&Uno", "&Dos" ;
      DIALOGS "Page1", "Page2"

      REDEFINE GET cVar1 ID 101 OF oFolder:aDialogs[1]
      REDEFINE CHECKBOX lVar1 ID 102 OF oFolder:aDialogs[1]

      REDEFINE GET cVar2 ID 101 OF oFolder:aDialogs[2]
      REDEFINE CHECKBOX lVar2 ID 102 OF oFolder:aDialogs[2]

   REDEFINE BUTTON ID 103 OF oDlg ACTION oDlg:end()

   ACTIVATE DIALOG oDlg CENTERED

RETURN NIL



Code: Select all  Expand view
//win32.rc
1 24 "winxp.man"

main DIALOG 8, 53, 262, 200
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Error de Checkbox en folder"
FONT 8, "MS Sans Serif"
{
LTEXT "Codigo", -1, 9, 8, 32, 8
EDITTEXT 101, 43, 8, 53, 12
CONTROL "", 102, "SysTabControl32", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 4, 27, 256, 151
PUSHBUTTON "Cerrar", 103, 210, 182, 50, 14
}


Page1 DIALOG 6, 15, 161, 114
STYLE 0x4L | WS_CHILD | WS_VISIBLE
FONT 8, "MS Sans Serif"
{
LTEXT "Codigo", -1, 9, 9, 30, 8
EDITTEXT 101, 36, 9, 51, 12
CHECKBOX "Casado", 102, 37, 24, 49, 12, BS_AUTOCHECKBOX | WS_TABSTOP
}


Page2 DIALOG 6, 15, 161, 114
STYLE 0x4L | WS_CHILD | WS_VISIBLE
FONT 8, "MS Sans Serif"
{
LTEXT "Codigo", -1, 9, 9, 30, 8
EDITTEXT 101, 36, 9, 51, 12
CHECKBOX "Casado", 102, 37, 24, 49, 12, BS_AUTOCHECKBOX | WS_TABSTOP
}

Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1682
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Postby carlos vargas » Tue Jan 03, 2006 6:28 pm

caba aclarar con fwh 2.6, xharbour y harbour, bcc55.

una imagen del problema

Image

salu2
carlos vargas[/url]
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1682
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Postby Antonio Linares » Fri Feb 03, 2006 1:31 am

Carlos,

El build de Febrero de FWH soluciona este problema. Hemos tardado en cazarlo, pero al final lo hemos conseguido :)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41287
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby carlos vargas » Thu Feb 09, 2006 7:45 pm

Gracias Antonio, :-) ya empezaba a temer que lo hubieras olvidado, o que estuviera dificil la cosa :-(, no es posible modificar los fuentes ?

salu2
gracias
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1682
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Postby Antonio Linares » Thu Feb 09, 2006 9:23 pm

Carlos,

En FWH 2.7 Febrero se han implementado muchos cambios, sin embargo esto puede solucionarlo,

En el método Colors( hDC ) de checkbox y radio, hay que implementar este cambio:

Code: Select all  Expand view
METHOD Colors( hDC ) CLASS ...

   ...

   if IsAppThemed()
      DrawPBack( ::hWnd,  hDC )
   endif   

return ::oBrush:hBrush
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41287
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby carlos vargas » Fri Feb 10, 2006 6:10 pm

gracias antonio, funciono de esta forma (solo en xharbour)

Code: Select all  Expand view
...
/*al inicio de la aplicación*/
EXTEND CLASS TRADIO      WITH METHOD Colors
EXTEND CLASS TCHECKBOX  WITH METHOD Colors
...


Code: Select all  Expand view
/*en cualquier parte :-)*/
STATIC FUNCTION Colors( hDC )
   LOCAL SELF := HB_QSelf()

   IF IsAppThemed()
      DrawPBack( ::hWnd,  hDC )
   ENDIF

RETURN ::oBrush:hBrush


salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1682
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Postby carlos vargas » Mon Feb 20, 2006 4:57 pm

Antonio, si bien se corrigio el problema de borde puntedo en el checkbox cuando tienes temas aplicados en winxp, cuando no tiene tema aparece dentro de la region del borde un color blanco de fondo. :-(

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1682
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Postby Antonio Linares » Mon Feb 20, 2006 6:55 pm

Carlos,

Hemos probado el ejemplo samples\TestFold.prg con y sin temas y está bien. De todas formas hemos implementado una serie de cambios que publicaremos en el build de Marzo.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41287
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to Bugs report & fixes / Informe de errores y arreglos

Who is online

Users browsing this forum: No registered users and 5 guests