FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con ajuste en pixels de controles
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Mon Apr 17, 2006 08:07 PM

Antonio,

Me estoy volviendo loco con el tema de los pixels y debe haber algo raro.
Me explico:

Creo desde código: DEFINE DIALOG oDlg FROM 0,0 TO 400,300 PIXEL

y ahora necesito ajustar un control TGRoup, la manera más natural que se me ocurre es

@1, 1 GROUP oG1 TO oDlg:nHeight-10, oDlg:nWidth-10 PIXEL OF oDlg

Por ejemplo, eso debería funcionar, pero, no funciona, o los pixels de ancho y alto que dice tener el Diálogo son incorrectos, o el TGroup se pinta como le da la gana, pero para nada toma bien el tamaño.

Aparte, no sé seguir, porque si es el diálogo el que no es capaz de decir cuanto mide en pixels, ¿como coloco el resto de controles??

Un Saludo,
Joaquín

Un Saludo,

Joaquín Martínez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problema con ajuste en pixels de controles
Posted: Mon Apr 17, 2006 08:21 PM

Joaquín,

Créalo desde la claúsula ON INIT del diálogo, ya que antes son "dialog units" y no pixeles.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Mon Apr 17, 2006 08:35 PM

Antonio,

Estoy peor que antes, pongo como me dices lo siguiente:

Function InitDlgPideDat( oDlg )

@1, 1 GROUP oG1 TO oDlg:nHeight-50,;
oDlg:nWidth-10;
PROMPT "Seleccione datos" TRANSPARENT;
PIXEl OF oDlg

Return Nil

Y antes del ACTIVATE:

::oDlglist:bInit := {|| InitDlgPideDat( ::oDlglist ) }

Y ni siquiera me aparece el Tgroup, ha desaparecido del diálogo!!.

¿Podrías ponerme un pequeñísimo ejemplo autocontenido de un Diálogo y un Tgroup ajustado a él quitando algunos pixels por cada lado desde código fuente ??

Te lo agradecería muchísimo, gracias
Joaquín

Un Saludo,

Joaquín Martínez
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 11:04 AM

Antonio,

parece que oDLg:binit := {|| MiInit() } no lo ejecuta, hay que llamarla en es ON INIT, por eso no me iba.

Lo que no veo muy correcto es que necesite crear una nueva función sólo para definir los controles, si no, no va en pixels.

Un Saludo,
Joaquín

Un Saludo,

Joaquín Martínez
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 11:30 AM

Antonio,

La clase TIcon no tiene la clausula PIXEL ni la Data lPixel, por lo que no se puede trabajar en pixels, siempre en coordenadas simulando el sistema de filas y columnas del DOS.

Por lo que situarlos, se hace bastante complicado.

Un Saludo,
Joaquín

Un Saludo,

Joaquín Martínez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 11:52 AM

Joaquín,

Puedes usar números decimales en @ ..., ... con lo que puedes ajustarlo a la posición que quieras.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 12:22 PM

Antonio,

Lo de trabajar con decimales lo sabía y usar ICO_CHARPIX_H y ICO_CHARPIX_W para convertirlos también, lo que quería decir, es que para que fwh funcionara todo igual y no llevarara a confusiones, esa clase TIcon está a falta de la clausula PIXEL.

Además, creo que es un poco chapucero, y aparte desde que el usuario ve que no encuentra donde ha posicionado el icono, hasta que descubre que es lo que está pasando y como solucionarlo son una gran pérdida de tiempo.

Un Saludo y gracias,
Joaquín

Un Saludo,

Joaquín Martínez
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 12:43 PM

Joaquín,

Para eso estan los recursos, para no tener que posicionarlos a mano.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 458
Joined: Tue Mar 14, 2006 07:26 PM
Problema con ajuste en pixels de controles
Posted: Tue Apr 18, 2006 04:27 PM

Antonio,

No sé si se habrá malinterpretado o no me he expresado bien, el término "chapucero" no iba referido a que la librería en sí fuera chapucera, sino que el TIcon queda incompleto sin la clausula pixel y que para que tenga ese comportamiento, el usuario tiene que dar muchas vueltas. He visto el código y pienso que no sería muy complicado de implementar. ¿Como lo ves?

Un Saludo
Joaquín

PD: Muchas veces escribiendo, al no escucharse la entonación, puede parecer que se dicen cosas con otras intenciones o en forma de desprecio, de ahí esta aclaración.

Un Saludo,

Joaquín Martínez
Posts: 8
Joined: Mon Oct 10, 2005 02:37 PM
Problema con ajuste en pixels de controles
Posted: Wed Apr 19, 2006 12:57 PM

También podemos decir que:

Para eso existe FiveWiDi, para no tener que posicionarlos a mano.

Ya que lo he mencionado.

Alguién recuerda que es FiveWiDi? Saben para que sirve?

Alguién quiere continuar el desarrollo?

Actualmente la versión es del 2002 y bajo Fivewin 2.1c.

Saludos
Carlos G.

Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
Problema con ajuste en pixels de controles
Posted: Wed Apr 19, 2006 09:21 PM
Un problema similar tenía yo con todos los controles al crearlos desde código, resultaba que no siempre la coordenada :

@ 10 , 10 , era la misma para todos los controles.

Y había que ajustarlos a mano limpia.

Así que le hice una pequeñisma modificación a la clase TDialog y ahora ya puedo pintar todos los controles en la coordenadas que yo le indico.

	 // Vikthor 21-Sep-2005
   AEVAL( ::aControls, { | o , n | IF( o:ClassName()=="TIMAGE" .OR. o:ClassName()=="TBITMAP" , ;
	                                                o:Move( o:nTop/2 , o:nLeft/2 , 0 , 0 , .T. ) , ;
																									o:Move( o:nTop/2 , o:nLeft/2 , o:nWidth/2 , o:nHeight/2,.T. ) ) } )


y listo el pollo.
Vikthor

Continue the discussion