Refrescar dialogo

Post Reply
JoseGS
Posts: 205
Joined: Wed Sep 02, 2009 3:11 am

Refrescar dialogo

Post by JoseGS »

Hola amigos del foro

Tengo el siguiente problema:

Un cliente desea conectar un segundo monitor a su PC para que al momento de seleccionar un producto para la venta, en la segunda pantalla se muestre la foto del producto y ciertos detalles del mismo. Para esto, hice un dialogo que muevo con oDlgFOTO:Move(nX,nY) al momento de activar el dialog.

Todo funciona bien, pero he querido brindarle al usuario la posibilidad de ajustar la posicion del dialogo y que dicha posicion quede almacenada para que al abrir de nuevo el sistema el dialogo este en la posicion que el usuario establecio. He buscado la variable en la que se almacena la posicion del dialogo pero no la he encontrado... asi que cree 4 botones (arriba, abajo, izq, der) para que el usuario al pulsarlos se aumente o disminuya el valor de nX y nY. Esto ultimo me funciona bien, lo que no me funciona es que al ir cambiando esas variables, se debe refrescar el dialogo en la pantalla para que se vea el efecto del cambio de posicion, pero lo que se mueve es un recuadro gris y no el dialogo completo.

La pregunta es como hago para 1. saber la coordenada en la que se encuentra el dialogo o 2. refrescar la imagen completa del dialogo al moverlo con los botones y usando en MOVE...

Adjunto codigo

FUNC IMGVIEW()
LOCAL oBTN
DEFINE DIALOG oDlgFOTO RESOURCE "FOTOART"
REDEFINE IMAGE oFOTOART ID 501 OF oDlgFOTO FILE cFOTOART ADJUST

REDEFINE SBUTTON oBtn ID 301 OF oDlgFOTO ACTION (aConfig[97]--,oDlgFOTO:Move(aConfig[97],aConfig[98]),oDlgFOTO:REFRESH(),oWnd:REFRESH()) W97 RESOURCE "B_UP"
REDEFINE SBUTTON oBtn ID 302 OF oDlgFOTO ACTION (aConfig[98]++,oDlgFOTO:Move(aConfig[97],aConfig[98]),oDlgFOTO:REFRESH()) W97 RESOURCE "B_DER"
REDEFINE SBUTTON oBtn ID 303 OF oDlgFOTO ACTION (aConfig[97]++,oDlgFOTO:Move(aConfig[97],aConfig[98]),oDlgFOTO:REFRESH()) W97 RESOURCE "B_DOWN"
REDEFINE SBUTTON oBtn ID 304 OF oDlgFOTO ACTION (aConfig[98]--,oDlgFOTO:Move(aConfig[97],aConfig[98]),oDlgFOTO:REFRESH()) W97 RESOURCE "B_IZQ"
REDEFINE SBUTTON oBtn ID 305 OF oDlgFOTO ACTION (WritePProString( "Local" , 'PosicionX', STR(aConfig[97]),'C:\EVOLUTIO\EVOLUTIO.INI'),WritePProString( "Local" , 'PosicionY', STR(aConfig[98]),'C:\EVOLUTIO\EVOLUTIO.INI') ) W97 RESOURCE "B_YES"

ACTIVATE DIALOG oDlgFOTO NOWAIT ON INIT oDlgFOTO:Move(aConfig[97],aConfig[98]) VALID 1#1
RETU[]
Post Reply