Problemas con BUTTONs

Problemas con BUTTONs

Postby colthop » Sun Jun 14, 2015 5:51 pm

Hola a todos:

Me acabo de dar cuenta de una cosa muy extraña y no se como solucionarlo, es lo siguiente en cualquier tipo de botón o por lo menos los dos que yo utilizo (BUTTON y BNTBMP) cuando utilizas una combinación de teclas para hacer lo mismo con el teclado que pulsando con el ratón y lo que haces es ocultar la ventana donde estás y crear una nueva esta se duplica. Sin embargo si lo que haces es eliminar la ventana primera y crear la segunda en este caso crea solo una y si pulsas el botón con el ratón también lo hace bien.

Pongamos un ejemplo: Yo tengo una ventana wGestPunt que entre otras muchas cosas tiene este botón con una imagen y un PROMPT (LocaText(2,1,85) = C&liente") y ejecuta Nue2Punt()

Code: Select all  Expand view  RUN


@359*ProPorV,1040*ProPorH BTNBMP xPul11 FILE xruta + "clie.bmp" PROMPT space(10) + LocaText( 2, 1, 85) OF wGestPunt PIXEL SIZE 190*ProPorH, 40*ProPorV FONT xFont ACTION Nue2Punt() LEFT

FUNCTION Nue2Punt()
wGestPunt:bKeyDown  = { | nKey       | contpunt2  ( nKey       ) }
xOpc1 = 2
va067 = va107
va069 = va107
va068 = va108
SELECT 8
seek va067
wGestPunt:Disable()
wGestPunt:Hide()
CreaVent(110,350,"wGestPunt1","oVentPrinc",Locatext( 1, 2, 24),"NO")
xIniBot = (xLar - 160) / 2
@ 10*ProporV, 20*ProporH SAY tDlg060 VAR LocaText( 1, 1,136) OF wGestPunt1 PIXEL COLOR escri1, fondo1 FONT xFont SIZE 130*ProporH,xProPorV*ProPorV
@ 10*ProporV,220*ProporH SAY tDlg061 VAR LocaText( 1, 1,211) OF wGestPunt1 PIXEL COLOR escri1, fondo1 FONT xFont SIZE 130*ProporH,xProPorV*ProPorV
@ 30*ProporV, 10*ProporH SAY vDlg060 VAR " " + nombre    OF wGestPunt1 PIXEL COLOR escri3, fondo3 FONT xFont SIZE 321*ProporH,xProPorV*ProPorV BORDER
@ 10*ProporV,130*ProporH GET gDlg060 VAR va067           OF wGestPunt1 PIXEL COLOR escri2, fondo2 FONT xFont SIZE  78*ProporH,xProPorV*ProPorV PICTURE "!!!!!!!!!" valid BuC2Punt()
@ 10*ProporV,285*ProporH GET gDlg061 VAR va068           OF wGestPunt1 PIXEL COLOR escri2, fondo2 FONT xFont SIZE  46*ProporH,xProPorV*ProPorV PICTURE "##.##" RIGHT
@(xAnc-50)*ProPorV,(xIniBot    )*ProPorH BTNBMP xPul60 FILE xruta + "sele.bmp" TOOLTIP LocaText( 2, 1,  6) OF wGestPunt1 PIXEL SIZE  70*ProPorH, 40*ProPorV FONT xFont ACTION Nue2Punt1(1)
@(xAnc-50)*ProPorV,(xIniBot+ 80)*ProPorH BTNBMP xPul61 FILE xruta + "canc.bmp" TOOLTIP LocaText( 2, 1, 16) OF wGestPunt1 PIXEL SIZE  70*ProPorH, 40*ProPorV FONT xFont ACTION Nue2Punt1(2)
@-1,0 BUTTON xPul71 PROMPT LocaText( 2, 1,  6)                    OF wGestPunt1 ACTION Nue2Punt1(1)  SIZE 0,0
@-1,0 BUTTON xPul72 PROMPT LocaText( 2, 1, 16)                    OF wGestPunt1 ACTION Nue2Punt1(2)  SIZE 0,0
xPul71:bGotFocus:={||xPul60:SetFocus()}
@ 10*ProPorV,100*ProPorH                 BUTTON xPul62 PROMPT "?" OF wGestPunt1 PIXEL SIZE  16*ProPorH,xProPorV*ProPorV FONT xFont ACTION BuC2Punta()
gDlg060:SetFocus()
RETURN (NIL)
 


Cuando pulso el botón me lo hace todo correcto oculta wGestPunt y crea una wGestPunt1 pero si pulso la combinación de ALT+L lo que hace es crearme dos wGestPunt1 una encima de otra pero separándolas se ven así:

Image

Y se cierra una de las dos ventanas pero la otra no hay forma de cerrarla.

Pero si cambio la línea :

wGestPunt:Hide()

por

wGestPunt:End()

Entonces si lo hace bien y crea solo una ventana wGestPunt1.

Alguien me podría ayudar.

Gracias

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Problemas con BUTTONs

Postby Antonio Linares » Mon Jun 15, 2015 8:45 pm

Carlos,

Puedes llamar a MsgInfo() en vez de crear tu ventana y ver si ejecuta dos veces MsgInfo() ? gracias
regards, saludos

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

Re: Problemas con BUTTONs

Postby colthop » Mon Jun 15, 2015 8:49 pm

Hola Antonio:

Cuando pones un Msginfo() crea solo una ventana igual que cuando pulsas el botón o pones un wGestPunt:End().

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Problemas con BUTTONs

Postby Antonio Linares » Tue Jun 16, 2015 9:07 am

Carlos,

Si pudieses proporcionar un pequeño ejemplo autocontenido sería perfecto para probarlo, gracias :-)
regards, saludos

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

Re: Problemas con BUTTONs

Postby colthop » Sat Jun 20, 2015 9:25 am

Hola Antonio:

Lo he podido resolver poniendo SySRefresh() antes de crear la ventana que se duplicaba.

Un saludo y gracias

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 34 guests