Page 1 of 1

wBrowse de Hernan

Posted: Fri Sep 12, 2008 6:55 pm
by jvargas
Hola Amigos:
En el Brw de Hernan modificado por Rossine y usando RECURSOS, el Brw se pinta en nTop=0 y nLeft=0 aunque en el recurso esté en otra posición.
He buceado en el Brw buscando el momento en que se toman los datos del recurso, no lo tiene cuando hace el ReDefine, y cuando entra en el método Default ya lo tiene, aparentemente es en el Super:Iniciate (Tcontrol) pero ahí me pierdo. Lo he comparado con el Brw de Fw pero no encuentro aparente motivo para esto. En el Brw original de Hernan sale bien. Tampoco encuentro nada en el foro, parece que a nadie le pasa esto.
Qué tengo que modificar para que el Brw se pinte tal y como está en el recurso?
Muchas gracias por anticipado
Jorge Vargas

Posted: Fri Sep 12, 2008 7:35 pm
by Antonio Linares
Jorge,

Prueba este código y dinos que te aparece:

ACTIVATE DIALOG oDlg ;
ON INIT MsgInfo( oBrw:nTop )

Posted: Fri Sep 12, 2008 8:50 pm
by jvargas
Hola Antonio
muchas gracias por responder.
en msginfo(oLbx:nTop) sale 0, tambien en nLeft
Saludos
Jorge Vargas

Posted: Fri Sep 12, 2008 9:55 pm
by Antonio Linares
Pruébalo asi:

ACTIVATE DIALOG oDlg ;
ON INIT MsgInfo( WndTop( oBrw:hWnd ) )

Posted: Fri Sep 12, 2008 11:15 pm
by jvargas
Antonio
Sale 0
Gracias por tu tiempo
Jorge Vargas

Posted: Sat Sep 13, 2008 12:30 am
by Antonio Linares
Jorge,

Prueba esto y veamos si cambia de posición:

ACTIVATE DIALOG oDlg ;
ON INIT WndTop( oBrw:hWnd, 200 )

Posted: Sat Sep 13, 2008 12:42 pm
by jvargas
Hola Antonio
Movió el oLbx bastante abajo
Que sigue ahora?.
Muchas gracias por tu ayuda
Saludos
Jorge Vargas

Posted: Mon Sep 15, 2008 1:18 pm
by ADBLANCO
SE ME OCURRE QUE EL ARCHIVO DE RECURSO DEBE TENER ALGO MALO,
EDITALO COMO TEXTO Y BUSCA EL DICHOSO LISTBOX HABER EN QUE POSICION TE ALMACENÓ

NOSE, DIGO.

Posted: Mon Sep 15, 2008 1:21 pm
by ADBLANCO
PUEDES PONER EL CODIGO DEL FUENTE??

Posted: Mon Sep 15, 2008 2:37 pm
by ADBLANCO
EN EL .RC DEBE DECIR ALGO COMO:

CONTROL "", 401, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 5, 15, 338, 182

DONDE LAS COORDENADAS DEL PUNTO DE INICIO SON 5,15

ESPERO TE SIRVA DE ALGO

Posted: Thu Sep 18, 2008 3:14 pm
by jvargas
Hola Ángel
Discúlpame por la demora en responder, el hecho es que con la solución que me dio Antonio continué trabajando. Tenia que entregar un programa.
La línea del recurso es ésta:
CONTROL "", 174, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 120, 210, 100
Pero aun así aparecía en la posición 0,0; inclusive en el ejemplo original del wBrowse no pude hace que funcione correctamente con recursos.
Con el remiendo:
On INIT (WndTop(oLbx:hWnd,240), WndLeft(oLbx:hWnd,120) seguí con la obra.

Lo que me extraña es que nadie mas ha reportado este caso en el foro. O es que yo tengo una versión que no funciona bien.
Ahora quiero usar un Get con Spinner en recurso y no salen las flechas, pero con codigo si sale. Muy extraño. Usas tu el wBrowse de Hernan modificado por Rossine?, no tienes estos problemas?
Agradezco mucho tu atención , tu respuesta y tu tiempo.
Saludos
Jorge Vargas

Posted: Thu Sep 18, 2008 4:16 pm
by tomafa
Saludos

jvargas..

yo tambien he tenido el problema con twbrowse de Rossine, te lo pinta en el TOP y por el tiempo no me pude menter de lleno en el problema pero vi esto en el foro y me auxilio un póco, aunque no pude cambiar o corregir el problema espero que tersirva y si llegas a tener la soucion que nos la compartas gracias

viendo un poco las modificaciones el error me parece que esta a la hora de calcular las coordenadas en el metodo DEFAULT()


if ::nWidth = NIL && Somente para REDEFINES && By Rossine
::nTop := aRect[1] && By Rossine
::nLeft := aRect[2] && By Rossine
::nHeigth := ( aRect[3] - aRect[1] ) / 2 && By Rossine
::nWidth := (( aRect[4] - aRect[2] ) / 2 ) + VSCROLL_WIDTH && By Rossine
::nBottom := aRect[3] && By Rossine
::nRight := aRect[4] && By Rossine
endif

Posted: Thu Sep 18, 2008 4:58 pm
by ADBLANCO
QUE RARO :shock: , A MI ME HA TRABAJADO SIEMPRE BIÉN!!

Posted: Thu Sep 18, 2008 8:13 pm
by jvargas
Hola Tomafa
Gracias por tu pista.
Llegué a que ::nWidth es NIL y que aRect{1] y aRect[2] tienen 0 pero la entradas 3 y 4 de aRect tienen 196 y 416 respectivamente.
La linea en el RC tiene
CONTROL "", 174, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 120, 210, 100
Al parecer aRect := GetClientRect( ::hWnd ) no funciona.
Lamento decir que mis conocimientos sobre Métodos son casi nulos y no puedo seguir.
Ojalá que alguien nos de un poco mas de ideas por donde bucear.
Muchas gracias por la ayuda.

Hola Ángel
Podrías, por favor, enviarme a mi correo tu wBrowse de Rossine?. Quiero compararlos.
Gracias

Saludos a ambos
Jorge Vargas

Posted: Thu Sep 18, 2008 9:05 pm
by tomafa
esta parte la utiliza Rossine para calcular el titulo, cuando se pinta el browse lo pone en el top 0 por el valor que lleva ahora como se puede saber en donde se pinta el caga o panel del browse para saber en donde lo coloca

if ::nWidth = NIL && Somente para REDEFINES && By Rossine
::nTop := aRect[1] && By Rossine
::nLeft := aRect[2] && By Rossine
::nHeigth := ( aRect[3] - aRect[1] ) / 2 && By Rossine
::nWidth := (( aRect[4] - aRect[2] ) / 2 ) + VSCROLL_WIDTH && By
::nBottom := aRect[3] && By Rossine
::nRight := aRect[4] && By Rossine
endif


antonio