FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Maestro Manuel, Bug en TSBUTTON
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Fri Oct 03, 2008 04:57 PM
Hola Maestro Manuel:

En la 煤ltima versi贸n encontr茅 dos novedades, podr铆as decirme c贸mo solucionarlas ?

1.- Si tienes un Di谩logo armado con RECURSOS, con varios botones y te mueves con la tecla TAB, el bot贸n que toma el foco pintaba un recuadro punteado indic谩ndote que tiene el foco. Con la 煤ltima versi贸n que amablemente me enviaste ya no pinta el recuadro y no se sabe en cu谩l bot贸n est谩 el foco.

C贸mo puedo hacer para que vuelve a pintar el recuadro. ?


2.- Si tomas el ejemplo NEWSHAPE.PRG y haces la siguiente modificaci贸n:

En la l铆nea 94 cambias

@155, 45 SBUTTON aBtn[ 8 ] PROMPT "escucha" RESOURCE "Audib" OF oDlg ;
             COLORS CLR_WHITE, nRGB( 255, 85, 0 ) SIZE 30, 35 PIXEL SUNSET TEXT ON_TOP FONT oFont

por

@155, 45 SBUTTON aBtn[ 8 ] PROMPT "escucha1" RESOURCE "Audib" OF oDlg ;
            COLORS CLR_WHITE, nRGB( 255, 85, 0 ) SIZE 30, 35 PIXEL SUNSET TEXT ON_TOP FONT oFont;
            ACTION (iif(aBtn[ 9 ]:lActive,aBtn[9]:Disable(),aBtn[9]:Enable()),;
                    aBtn[ 9 ]:Refresh(.T.))


y agregas despues de definido el SBUTTON aBtn[ 9 ]

aBtn[ 9 ]:Disable()


Cuando la aplicaci贸n entra, el aBtn[ 9 ] est谩 disable y pinta los contornos del bot贸n redondos. Perfecto

Pero si pulsas sobre el bot贸n aBtn[ 8 ] para que lo active y luego pulsas nuevamente para que lo desactive entonces pinta los bordes en 谩ngulo recto. Pierde el efecto Round.

Si quitas aBtn[ 9 ]:Disable(), al iniciar el bot贸n est谩 activo. Si pulsas aBtn[ 8 ], los desactiva y pinta los bordes en 谩ngulo recto. Pierde el efecto Round.

Estos son botones estilo SUNSET. Lo mismo pasa con el estilo CRYSTAL.

C贸mo lo soluciono ?

De igual manera en el ejemplo TESTBTN.PRG en el bot贸n "Buttons from code", al pulsar el bot贸n "Activate", para que active los botones del di谩logo, entre los que est谩 uno REDONDO, yl pulsarlo otra vez para que desactive, el bot贸n REDONDO pinta un marco blanco cuando est谩 desactivado.

C贸mo lo soluciono ?

Por otro lado, qu茅 uso le das a la clase TSGRADIE ?

Saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 189
Joined: Sun Jul 08, 2007 01:46 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Fri Oct 03, 2008 08:40 PM

Estimado Manuel:

Aprovechando... le hago una consulta:

Es posible que con la clausula CRYSTAL el caption del TSBUTTON
quede en el medio y no en la linea de abajo?
(Usado como boton , no el la tsbar)

Saludos y Gracias

Ruben Fernandez

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Sun Oct 05, 2008 07:42 PM

Mestro, alguna gu铆a ser谩 bienvenida.

Saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Mon Oct 06, 2008 07:09 PM

Maestro Manuel, ayudaaaaaaaa..... :cry:

Con el fin de no molestarte le he dado la vuelta por todos los lados, pero no consigo solucionar el pintado del recuadro cuando un bot贸n tiene el foco. La mayor铆a de los usuarios se mueven entre los controles de una ventana o un d铆alogo con la tecla Tabs, y para esto es vital saber en d贸nde est谩 el foco. Si tienes varios botones y el foco est谩 en alguno de ellos quedas perdido porque no sabes en cu谩l est谩. :?

Por favor dame una gu铆a de c贸mo solucionarlo. S贸lo una p矛sta, yo hago el resto.

Gracias y saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Tue Oct 07, 2008 01:25 PM

Hola Carlos:

Disc煤lpame, hab铆a estado unos d铆as ausente de los foros, d茅jame analizar el problema y seguramente encontraremos una soluci贸n.

Un abrazo.

Manuel Mercado

manuelmercado at prodigy dot net dot mx
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Maestro Manuel, Bug en TSBUTTON
Posted: Tue Oct 07, 2008 02:55 PM

Gracias Maestro, quedo a la espera.

Un abrazo,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Maestro Manuel, Bug en TSBUTTON - Posible soluci贸n
Posted: Mon Oct 13, 2008 12:42 AM
Maestro Manuel

Una posible soluci贸n al pintado del cuadro cuando un bot贸n tiene el foco es cambiando en el Method Paint:

Err贸neo:
lFocused := If( ! lAnd( ::nStyle, WS_TABSTOP ) .or. ;
                     cClassName == "TBAR" .or.;
                     cClassName == "TSBAR" .or. ;
                     nShape == 2 .or. ::lDrag, .F., lFocused )
Parece que no est谩 definiendo ::nStyle cuando es desde recursos, por lo que " ! lAnd( ::nStyle, WS_TABSTOP ) " ser谩 siempre Falso

Correcto:
lFocused := If( ! lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), WS_TABSTOP ) .or.;
                     cClassName == "TBAR" .or.;
                     cClassName == "TSBAR" .or. ;
                     nShape == 2 .or. ::lDrag, .F., lFocused )

Aparentemente funciona bien. Pinta el recuadro cuando un bot贸n tiene el foco.

Podr铆as confirmarme si es correcto el cambio ?

Queda pendiente de solucionar el pintado cuando los botones tienen el atributo ROUNDED y se intercambia entre Disable() y Enable().

Gracias y un abrazo,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Continue the discussion