Andres,
Se puede emplear el reporter para diseñar etiquetas
De momento no. Esta primera fase es para consolidar los conceptos básicos.
se puede poner de fondo un grid de líneas para que nos sirvan de referencia
Vamos paso a paso. Miraremos de haber si es mejor poner un grid, unos ejes, reglas, todo !, ... De momento, en la parte inferior muestra la posicion.
MdaSolution -> Gracias. Vamos a mirar de poner pronto un grid.
Nueva version v.0356 - Nuevo metodo ::SetPropierty()
http://code.google.com/p/fivewin-contri ... akechanges
La idea básica de esta libreria es:
1.- Diseño de la posicion y propiedades de cada item
2.- Un metodo para manejar los datos -> ::Data( ID, Value )
Se ha incorporado un el metodo SetPropierty( ID, Propiedad, valor ), para que en el caso que queramos cambiar la propiedad (de momento del fuente, a ver si sirve de algo este metodo), podamos cambiarlo. A la siguiente llamada de ata() el item tomara los nuevos valores, pero a la siguiente volvera a su estado de diseño
Ver este ejemplo, (listimg2.prg) en el que hay una subposicion que como no encuentro un dato, cambio sus atributos a color rojo, bold, italic, underline...
El codigo de manejo es este
- Code: Select all Expand view RUN
- ...
MAT_USER->( DbSeek( MATERIAL->id ) )
WHILE MAT_USER->id_mat == MATERIAL->id .AND. MAT_USER->( !Eof() )
IF CLIENT->( DbSeek( MAT_USER->id_user ) )
oUser:Data( 'usr_img' , 'user.jpg' )
oUser:Data( 'usr_id' , MAT_USER->id_user )
oUser:Data( 'usr_name' , CLIENT->name )
oUser:Data( 'usr_fecha' , MAT_USER->fecha )
ELSE
oUser:SetPropierty( 'usr_name' , 'Color' , CLR_RED )
oUser:SetPropierty( 'usr_name' , 'Bold' , .T. )
oUser:SetPropierty( 'usr_name' , 'Italic' , .T. )
oUser:SetPropierty( 'usr_name' , 'Underline', .T. )
oUser:Data( 'usr_img' , 'question.jpg' )
oUser:Data( 'usr_id' , MAT_USER->id_user )
oUser:Data( 'usr_name' , '< User desconocido ??? >' )
ENDIF
MAT_USER->( DbSkip() )
oUser:Skip()
END
...
Y listos... Creo que puede ser muy poderoso por su flexibilidad