Colores alternados en filas de un grid

5,574 views
Skip to first unread message

ultraton500

unread,
Sep 24, 2010, 8:29:09 PM9/24/10
to Comunidad de Visual Foxpro en Español
Buenas, acabo de enterarme de que en vfp9 existe una forma de darle a
las grids colores alternados en sus filas y es accediendo al ítem
"Builder" del menú que se abre con click derecho, en la pestaña
"Style" y seleccionando el estilo llamado "Ledger".
Bueno, a mi me interesa saber cómo aplicarle el estilo de dos colores
a las filas sin usar el generador ya que la grid que quiero mejorar
muestra datos de un cursor.
Hasta el momento venía usando DynamicBackColor pero esto implica tener
que renumerar un campo guía por cada vez que se ejecutaba una consulta
o Set Filter y eso hace las cosas mas lentas.
Agradezco desde ya cualquier ayuda al respecto.
Saludos cordiales,
Javier.

Mik

unread,
Sep 25, 2010, 1:07:28 AM9/25/10
to Comunidad de Visual Foxpro en Español
Hola, yo uso este código en mis grillas:

* Alterna el color blanco con el color de la propiedad BackColor de la
grilla.
WITH Thisform.Grid1
.Recordsource="MiTabla"
LOCAL iColor as Integer
iColor = .BackColor
.SetAll("DynamicBackColor", "IIF(MOD(RECNO(),2)=0, RGB(255,255,255),
"+STR(iColor)+")", "Column")
ENDWITH

Saludos
Miguel Herbias
Lima-Peru

JINX

unread,
Sep 25, 2010, 10:41:31 AM9/25/10
to Comunidad de Visual Foxpro en Español
Tambien puedes crear un registro "bandera" en la tabla que va a
indicar si el registro se colorea o no
en mitabla tiene q existir el campo bandera que puede tener 1 o 0, 1
para los registros con color y 0 para los que no.. etc etc

.SetAll("DynamicBackColor", "IIF(bandera=1, RGB(255,211,200),
"+STR(iColor)+")", "Column")

tambien hay una clase muy buena en
http://fox.desdeguate.com/descargas/vfp/igrid.zip
que permite colorear las rows seleccionadas en el grid

ultraton500

unread,
Sep 25, 2010, 2:49:01 PM9/25/10
to Comunidad de Visual Foxpro en Español
Hola Mik, hola JINX, gracias por su respuesta.
La forma que me indican es como lo vengo haciendo hasta el momento.
Consulté al grupo porque pensé que vfp lo hacía de una manera
automática e independiente del nro. o el valor de los registros y asi
evitar tener que renumerar un campo bandera pero no, estuve haciendo
algunas pruebas y veo que hace un DYNAMICBACKCOLOR de acuerdo al nro.
de registro por lo que no resiste un SET FILTER, SET ORDER o una
consulta sql.
Asi que habrá que seguir accediendo secuencialmente para mantener
alternado el campo bandera.
Les agradezco nuevamente por su ayuda y les mando un cordial saludo.
Javier.

José Anthony Contreras Peralta

unread,
Sep 25, 2010, 3:29:16 PM9/25/10
to publice...@googlegroups.com
Muy buenas, no estoy bien informado de todo el hilo pero talves así te sirva, estas son condiciones que no dependen del número de registro, si no de la condición de los campos.

*- Marca todas las filas cuando el campo de la tabla VENTA es cero.
thisform.Grid1.SetAll("DynamicForeColor", ;
 "IIF(empty(venta), RGB(255,0,0), RGB(0,0,0))", "Column") && Si la venta es cero asigno la letra de color Rojo, si no asigno negro.

*- Marca todas las filas cuando la cantidad esté negativa.
thisform.Grid1.SetAll("DynamicForeColor", ;
 "IIF(cantidad<0, RGB(255,0,0), RGB(0,0,0))", "Column") && Si el costo es cero asigno la letra de color Azul, si no asigno negro.


*-
thisform.Grid1.column1.DynamicForeColor  = ;
 "IIF(empty(costo), RGB(0,0,255), RGB(0,0,0))" && Si maestra="S" asigno la letra de color Azul, si no asigno negro.

José Anthony Contreras Peralta

unread,
Sep 25, 2010, 3:46:43 PM9/25/10
to publice...@googlegroups.com

ultraton500

unread,
Sep 25, 2010, 5:25:14 PM9/25/10
to Comunidad de Visual Foxpro en Español
Claro, al parecer no hay forma de no depender del nro. o condición de
los campos para asignar diferentes colores por lo cual, para alternar
dos colores, siempre se tendrá que recorrer la tabla de punta apunta
estableciendo los valores del campo que condiciona el color (que es lo
que pensé que podía evitarse).
Gracias José por el aporte.
Saludos,
Javier.

Daniel Sánchez

unread,
Sep 25, 2010, 5:25:26 PM9/25/10
to publice...@googlegroups.com
Si te fijas bien en el código generado por el constructor del grid, en el estilo ledger que comentas, usa el dynamicolor, para indicar que ponga de un color diferente a cada columna, de la siguiente manera

DynamicBackColor="IIF(MOD(RECNO(),2)=1,RGB(255,255,255),RGB(192,220,192))"

así que es lo mismo que los compañeros del foro te comentan.

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil 044-949398047
Trujillo - Perú

ultraton500

unread,
Sep 25, 2010, 5:58:33 PM9/25/10
to Comunidad de Visual Foxpro en Español
Tal cual como indicas Daniel, agradezco tu comentario.
Saludos,
Javier.

Samuel SMH

unread,
Sep 25, 2010, 6:43:48 PM9/25/10
to Comunidad de Visual Foxpro en Español
Asi es ultraton50; yo antes consulté lo mismo, porque me parecia
inapropiado tener que usar un flag para pintar los registros;
por eso que pedí al grupo MICROSOFT que pusiera una propiedad para
pintar en automatico. tal como lo hacen otros lenguajes o controles
web;
pero apenas lo pedí y decidieron ya no dar soporte a VFP... jajaja.

Deberíamos hacer una lista de nuevas propiedades que se quisiera tener
por cada control; para una nueva versión en VFP.NET ó en el futuro que
seguro resurgirá.

Mario López

unread,
Sep 25, 2010, 7:56:53 PM9/25/10
to Comunidad de Visual Foxpro en Español
@Javier:

hace bastante posteé en el foro una clase para lograr colores
alternados
en tablas no ordenadas físicamente con varios miles de registros,
copio de
ese post:

-----
si son pocos registros podés usar directamtente MOD con la función
IndexPos incluída más abajo en este post.

Si son muchos registros podés usar la siguiente clase.

Está orientada a tablas muy grandes (la probé con varios cientos de
miles de registros) visualizables directamente
en el grid. En esos casos, donde se hace muy lento obtener la posición
par / impar de cada registro la clase
solamente calcula la misma para un registro y va alternando los
siguientes. Si el operador sigue desplazándose
por la tabla con las teclas PgUp / PgDn / Up / Down el programa sigue
calculando la alternancia de colores
sin obtener la posición de los mismos, solamente lo hace en caso de
que el usuario se mueva con la scrollbar
o con Home / End.

-----------------------------
* AlternateBackColor en Grid con buffering mejorado

CLOSE TABLES ALL
USE HOME() + "Samples\Tastrade\Data\Products.dbf"

#define _DBG *

PUBLIC frmTest

frmTest = CREATEOBJECT("xForm")
frmTest.Show()

RETURN

DEFINE CLASS xForm as Form
ADD OBJECT grdTest as Grid WITH ;
Top = 10, Left = 10, Width = 500, Height = 220

Width = 520
Height = 240

PROCEDURE Init

WITH ThisForm
.AddObject ("oRows",
"xAlternateRowHighlighter", .grdTest)
ENDWITH

ENDPROC

PROCEDURE grdTest.Init

LOCAL nCol

WITH This
.AddColumn(1)
WITH .Columns(.ColumnCount)
.ControlSource = [RECNO()]
.Header1.Caption = "Recno"
ENDWITH
ENDWITH

ENDPROC

PROCEDURE Destroy
RELEASE frmStat
ENDPROC

* Ojo con el VisibleRows
PROCEDURE Resize
ThisForm.grdTest.Height = ThisForm.Height - 20
ENDPROC
ENDDEFINE

DEFINE CLASS xAlternateRowHighlighter as Custom
Color1 = 16744576 && Color renglones
impares
Color2 = 14531001 && Color renglones
pares

PROTECTED VisibleRows, GridObj, nRowsData, aRowsData[1],
LastRecno, LastColor
LastRecno = 0

PROCEDURE Init (oGrid)

WITH This
.GridObj = oGrid
.CalcGridRows()
.UpdateRowsData()

BINDEVENT(oGrid, [AfterRowColChange], This,
[HandleRowColChange])
BINDEVENT(oGrid, [Resize], This, [CalcGridRows])

oGrid.SetAll ([DynamicBackColor], [ThisForm.] + .Name
+ [.GetColor()])
ENDWITH

ENDPROC

* Actualizo la información de los renglones, alternando color
1/2/1/2 ...
PROCEDURE UpdateRowsData (nRowColor)

LOCAL nRec, nRow

WITH This
nRec = RECNO()
_DBG (PROGRAM() + STR(nRec) + IIF(! EMPTY(nRowColor),
" (SKIP)", ""))

* Actualizo el buffer
* desde posición actual - .nRowsData / 2
* hasta posición actual + .nRowsData / 2
SKIP - INT(.nRowsData / 2)
IF BOF()
GO TOP
nRowColor = 0
ENDIF

nRow = 0
IF EMPTY(nRowColor)
* Obtengo la posición según el índice activo:
esta es la instrucción lenta,
* que trato de evitar hacer renglón por
renglón
nRowColor = MOD(IndexPos(), 2) + 1
_DBG ("**** IndexPos ******")
ENDIF

SCAN NEXT .nRowsData
nRow = nRow + 1
.aRowsData [nRow, 1] = RECNO()
.aRowsData [nRow, 2] = nRowColor
* _DBG (STR(nRow,2) + " " + STR(RECNO(), 10) +
STR(nRowColor, 3))
nRowColor = IIF(nRowColor==1, 2, 1)
ENDSCAN

GO nRec
ENDWITH

RETURN nRowColor

* Devuelvo el color según la información de .aRowData
FUNCTION GetColor

LOCAL nRet, nPos, nRec

WITH This
nRec = RECNO()

IF nRec==.LastRecno
* Guardo en 'cache' la última respuesta para
mejorar performance
RETURN .LastColor
ENDIF

* _DBG ("GetColor " + TRANSFORM(nRec))

nPos = ASCAN(.aRowsData, nRec, -1, -1, 1)
IF nPos > 0
* Lo tengo en el array
nPos = INT((nPos + 1) / 2)
nRet = .aRowsData [nPos, 2]
ELSE
* Tengo que actualizar el array
nRet = .UpdateRowsData()
ENDIF

nRet = IIF(nRet==1, .Color1, .Color2)

.LastRecno = nRec
.LastColor = nRet
ENDWITH

RETURN nRet

* Reviso si tengo que ejecutar .UpdateRowsData
PROCEDURE HandleRowColChange (nColIndex)

WITH This
IF ! INLIST(.GridObj.RowColChange, 1, 3)
RETURN
ENDIF

IF INLIST(.GridObj.RelativeRow, 1, .VisibleRows)
* Estoy en la 1ra o última fila del grid,
actualizo
* preventivamente n registros hacia adelante y
atrás
.UpdateRowsData (IIF(.GetColor()==.Color1, 2,
1))
.GridObj.Refresh()
ENDIF
ENDWITH

ENDPROC

* Calculo la cantidad de registros visibles en el grid
PROCEDURE CalcGridRows

LOCAL nHeight, nRows

WITH This
WITH .GridObj
nHeight = .Height
nHeight = nHeight - .HeaderHeight
IF INLIST(.ScrollBars, 1, 3)
nHeight = nHeight - SYSMETRIC(8)
ENDIF

nRows = INT(nHeight / .RowHeight)
ENDWITH

.VisibleRows = nRows &&
Filas visibles
.nRowsData = .VisibleRows * 3
&& Array de RECNOs, filas visibles * 3 (pantalla
anterior, actual, posterior)
DIMENSION .aRowsData [.nRowsData, 2]

_DBG ("Rows: " + TRANSFORM(nRows))
ENDWITH

ENDPROC
ENDDEFINE

* Retorna la posición del registro de acuerdo al índice seleccionado
FUNCTION IndexPos (xArea)

LOCAL nSel, nOldRec, nSkip, nRet, nRec

IF ! EMPTY(xArea)
nSel = SELECT()
SELECT (xArea)
ENDIF

nRet = 0
nOldRec = RECNO()
nSkip = 1000

DO WHILE ! BOF() AND nSkip > 0
nRec = RECNO()
SKIP -nSkip
IF BOF()
nSkip = INT(nSkip / 2)
GO nRec
ELSE
nRet = nRet + nSkip
ENDIF
ENDDO

nRet = nRet + nSkip
XGo (nOldRec)

IF ! EMPTY(nSel)
SELECT (nSel)
ENDIF

RETURN nRet

FUNCTION xGo (nRec)

IF BETWEEN(nRec, 1, RECCOUNT())
GO nRec
ENDIF

RETURN

-----------------------------

HTH
Mario

ultraton500

unread,
Sep 25, 2010, 8:17:53 PM9/25/10
to Comunidad de Visual Foxpro en Español
Hola Samuel, me parece una buena idea ir conformando una lista de
sugerencias para enriquecer a VFP.NET y sería bueno que antes de
agregar una se opine al respecto para asi evitar el pedir por pedir
nomás.
Lo que no sé es dónde se guardaría la lista para que esté siempre a
mano, una opción sería que alguien se encargue de publicarla
periódicamente como se hace con las normas del grupo.
Como para empezar tengo algunas para mensionar:
* Colores alternados en grids, que no es por estética sino para evitar
al usuario confundirse de registro al cambiar la lectura de un campo a
otro (sobre todo cuando existe mucho espacio en blanco entre ambos
valores). Y si además permaneciera con colores alternados el area de
la grid que no muestra registros sería aún mejor, aunque eso ya sería
mucho pedir.

* Que el movimiento del contenido de las grids se realice en tiempo
real mientras se desliza la barra y no cuando se se suelta.

* Ampliar la variedad de los colores del editor de código, sobre todo
para el background, no por capricho sino para permitir personalizar
los colores que mejor permiten descansar la vista o distinguir mejor
la sintáxis. Pude notar la diferencia cuando usé Dreamweaver.

* Particularmente me sería útil poder hacer que se la ventana de
propiedades se mantega oculta durante la ejecución.

* Sería bueno también que la funcionalidad Ctrl+Z (deshacer)
permanezca luego de guardar los cambios o de ejecutar. Esto es algo
que tienen otros editores como Dreamweaver y EditPlus y la verdad que
me ha resultado muy útil poder volver atrás luego de hacer una prueba.

Por el momento no recuerdo alguna otra pero es algo como para opinar
al respecto.

ultraton500

unread,
Sep 25, 2010, 8:29:58 PM9/25/10
to Comunidad de Visual Foxpro en Español
Hola Mario, la clase se ve muy interesante y sobre todo me parece muy
ingeiosa.
Voy a probarla y luego te cuento.
Te agredezco mucho por tu ayuda.
Saludos,
Javier.

ibania blanco

unread,
Sep 27, 2010, 8:03:41 PM9/27/10
to Comunidad de Visual Foxpro en Español
highlightbackcolor vfp9 trae esta propiedad para iluminar la fila del
grid al color como tu quieras, sin validar nada

ultraton500

unread,
Sep 27, 2010, 8:23:11 PM9/27/10
to Comunidad de Visual Foxpro en Español
Hola Ibania, esa propiedad es para pintar solo la fila seleccionada,
en este caso lo que se busca es pintar de forma alternada todas las
filas del grid, es decir, la fila 1 de color1, la fila 2 de color2, la
fila 3 de color1, la fila 4 de color2, etc..
Gracias de todas formas Ibania.
Saludos,
Javier.

ibania blanco

unread,
Sep 29, 2010, 6:36:07 PM9/29/10
to Comunidad de Visual Foxpro en Español
lo que quieren es una abanico, alguien dijo por ahi, que los colores
son bonitos, para que el que hace la aplicacion, pero para el usuario,
el gris, lo soporta mas el ojo del usuario, que ves 8 horas diarias.

Luis Mata

unread,
Sep 29, 2010, 6:46:10 PM9/29/10
to publice...@googlegroups.com
?Hay muchas cosas que se ense�aron cuando iniciaste a programar y alguno lo
adoptaron como habito y aun no lo dejan:

Ejm:

- El clasico mensaje esta : �Esta seguro que desea salir del sistema?
- de ponerle colores de arco iris a todo.
- botones: Nuevo, consultar, guardar, actualizar, eliminar, salir

y otras cosillas que los profes nos dieron para poder familirizarnos con la
programacion, mas no como regla y cuando ganas experiencia eliminas muchas
cosas y simplificas la programacion.

Luis

ultraton500

unread,
Sep 30, 2010, 1:11:15 PM9/30/10
to Comunidad de Visual Foxpro en Español
Hola Ibania, hola Luis, gracias por sus comentarios. Es cierto que
algunos hacen de las pantallas un circo pero en el caso de los colores
alternados en las filas como escribí anteriormente no es por estética
sino por una cuestión a la que no he visto referirse en este y otros
grupos de programación llamada usabilidad.
Los colores alternados favorecen la lectura evitando confundir entre
una descripción a la izq. y su valor equivalente a la derecha cuando
están distanciadas.
Claro que no es algo primordial pero considero la usabilidad como
parte de la funcionalidad que además de mejorar la imagen del programa
mejora la calidad de vida del usuario, su productividad y por lo tanto
la calidad del software y eso también vende.
Entre otros, un ejémplo de usabilidad es el orden de tabulación.
Sé que para muchos es innecesario y por eso a veces siento que
pregunto boludeces cuando me refiero a cuestiones estéticas o de este
tipo pero fíjense que programas como vfp, Firefox, Opera, Nero,
Winampp, Emule, Messenger, InstallShield, Office, Corel, Photoshop,
etc, son estéticos, prolijos y agradables.
Como usuarios de vfp aprovechamos la usabilidad , por ej., para poder
listar las propiedades según el tipo, poder ver solo las que hemos
modificado, mostrar la descripción de c/una, acceder a la ayuda de c/
propiedad con click derecho, el inteliscence, el color de la sintaxis,
recordar el ultimo proyecto al iniciar, recorrer las ventanas abiertas
con CTRL+Tab, acceder a controles dentro de otros con CTRL+Click, usar
CTRL+S, CTRL+E, usar Indent/Unindent, etc. además ver bien delimitados
y titulados los controles que configuran/muestran datos del mismo
tema.
Por otra parte hay algo muy cierto y es que dedicarse a estos detalles
consume bastante tiempo.
Saludos cordiales,
Javier.

Luis Mata

unread,
Sep 30, 2010, 2:05:44 PM9/30/10
to publice...@googlegroups.com
?La parte estetica casi siempre en la mayoria de los casos son clasicos uno
que otro tiene cosas que no se ven comunmente.

otra cosa son los accesos rapidos que no tiene nada que ver con la estetica
del sistema, tener un sistema clasico contra uno que tenga un sin fin de
skin tipo windows media player es otra cosa.

la mayoria que tiene ese tipo de acabados son sistemas de entretenimiento,
Musica, video, kazaa usan una sola pantalla donde le hacen de todo. pero
cuando tienes un sistema completo con N forms, y N reportes.. la cosa
cambia, si tienes skin definidos y buenos bien, cosa que desconozco si hay
en VFP y si los hay no son lo que uno espera que sea.

cuando me iniciaba crees un form principal, donde le puse de todo,
degradado, un timer que pasaba una marquesita otro, otro que lo hacia
cambiar de color. botones multicolores que pasabas el mouse y cambiaba de
color..etc.

Hasta que uno de mis gerentes me dijo, para que haces todas esas cosas? y me
dijo que pusiera controles sin muchas cosas y que resaltara los resultados.
Le dije que los usuarios querian eso y fue claro y contundente: a mi lo que
me interesa son los resultados que de el sistema quitale todo eso y si los
usuarios dicen algo diles que hablen conmigo.

Gran leccion desde ese dia deje de perder mi tiempo en ese tipo de cosas,
analize otros sistemas grandes y tampoco vi que tenian esas cosas. asi que
me di cuenta por donde venia el pedido del Gerente. es mas ningun gerente me
ha pedido eso y siempre me respaldo de las altas jefaturas en los proyectos
para evitar los sabotajes de esos usuarios quisquillozos. porque al final
ellos son los responsables, los sponsores.

Luis

----- Original Message -----
From: "ultraton500" <ultra...@gmail.com>
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Sent: Thursday, September 30, 2010 12:11 PM
Subject: [vfp] Re: Colores alternados en filas de un grid

Hola Ibania, hola Luis, gracias por sus comentarios. Es cierto que
algunos hacen de las pantallas un circo pero en el caso de los colores

alternados en las filas como escrib� anteriormente no es por est�tica
sino por una cuesti�n a la que no he visto referirse en este y otros
grupos de programaci�n llamada usabilidad.


Los colores alternados favorecen la lectura evitando confundir entre

una descripci�n a la izq. y su valor equivalente a la derecha cuando
est�n distanciadas.


Claro que no es algo primordial pero considero la usabilidad como

parte de la funcionalidad que adem�s de mejorar la imagen del programa


mejora la calidad de vida del usuario, su productividad y por lo tanto

la calidad del software y eso tambi�n vende.
Entre otros, un ej�mplo de usabilidad es el orden de tabulaci�n.
S� que para muchos es innecesario y por eso a veces siento que
pregunto boludeces cuando me refiero a cuestiones est�ticas o de este
tipo pero f�jense que programas como vfp, Firefox, Opera, Nero,


Winampp, Emule, Messenger, InstallShield, Office, Corel, Photoshop,

etc, son est�ticos, prolijos y agradables.


Como usuarios de vfp aprovechamos la usabilidad , por ej., para poder

listar las propiedades seg�n el tipo, poder ver solo las que hemos
modificado, mostrar la descripci�n de c/una, acceder a la ayuda de c/


propiedad con click derecho, el inteliscence, el color de la sintaxis,
recordar el ultimo proyecto al iniciar, recorrer las ventanas abiertas
con CTRL+Tab, acceder a controles dentro de otros con CTRL+Click, usar

CTRL+S, CTRL+E, usar Indent/Unindent, etc. adem�s ver bien delimitados

ultraton500

unread,
Sep 30, 2010, 3:57:08 PM9/30/10
to Comunidad de Visual Foxpro en Español
Lo que te dijo tu gerente es muy cierto, primero los resultados. En mi
caso ya cumplí con lo requerido hasta el momento y es por eso que
aprovecho para pulir algunas cosas que, por supuesto, nadie dice que
deban ser asi.
Te agradezco por la la anécdota y tu observación acerca de los
programas mensionados, es muy cierto que usan una sola pantalla y se
complica cuando tenemos muchas, por eso fué que dije que los detalles
demandan mucho tiempo.
Te mando un slaudo Luis.
Javier.

Carlos Alfaro

unread,
Sep 30, 2010, 7:00:21 PM9/30/10
to publice...@googlegroups.com
Saludos amigos:

Mi contribuci�n o simple comentario al respecto es que procuro darle
contraste a mis pantallas y a la mayor�a de mis clientes les agrada.

De mas de 50 clientes, solo uno me pidi� que le dejar� las pantallas en
gris.

Bendiciones.

Carlos Alfaro

----- Original Message -----
From: "ultraton500" <ultra...@gmail.com>
To: "Comunidad de Visual Foxpro en Espa�ol"
<publice...@googlegroups.com>
Sent: Thursday, September 30, 2010 11:11 AM
Subject: [vfp] Re: Colores alternados en filas de un grid

Hola Ibania, hola Luis, gracias por sus comentarios. Es cierto que
algunos hacen de las pantallas un circo pero en el caso de los colores

alternados en las filas como escrib� anteriormente no es por est�tica

sino por una cuesti�n a la que no he visto referirse en este y otros
grupos de programaci�n llamada usabilidad.


Los colores alternados favorecen la lectura evitando confundir entre

una descripci�n a la izq. y su valor equivalente a la derecha cuando
est�n distanciadas.


Claro que no es algo primordial pero considero la usabilidad como

parte de la funcionalidad que adem�s de mejorar la imagen del programa


mejora la calidad de vida del usuario, su productividad y por lo tanto

la calidad del software y eso tambi�n vende.

Entre otros, un ej�mplo de usabilidad es el orden de tabulaci�n.
S� que para muchos es innecesario y por eso a veces siento que
pregunto boludeces cuando me refiero a cuestiones est�ticas o de este
tipo pero f�jense que programas como vfp, Firefox, Opera, Nero,


Winampp, Emule, Messenger, InstallShield, Office, Corel, Photoshop,

etc, son est�ticos, prolijos y agradables.


Como usuarios de vfp aprovechamos la usabilidad , por ej., para poder

listar las propiedades seg�n el tipo, poder ver solo las que hemos
modificado, mostrar la descripci�n de c/una, acceder a la ayuda de c/


propiedad con click derecho, el inteliscence, el color de la sintaxis,
recordar el ultimo proyecto al iniciar, recorrer las ventanas abiertas
con CTRL+Tab, acceder a controles dentro de otros con CTRL+Click, usar

CTRL+S, CTRL+E, usar Indent/Unindent, etc. adem�s ver bien delimitados

José Anthony Contreras Peralta

unread,
Sep 30, 2010, 7:21:31 PM9/30/10
to publice...@googlegroups.com
Yo lo que pongo es en una barra de herramietas arriba opciones como Predeterminar impresora, Activar la calculadora de Windows, Ayuda y también por aquello de que el usuario escoja el color que mas le guste o siente que le moleste menos la vista para que se lo asigne al fondo de los formularios solamente.

nColor = GETCOLOR(14215660) && Activo los colores con el gris predeterminado.
IF nColor >= 0
    colorfondo=nColor
    _screen.activeform.BackColor=colorfondo && Cambio el color al formulario activo.
    luego cuando activo los demás formularios van tomando el mismo color de fondo ya que en el init le pongo la opción .thisform.backcolor=colorfondo=nColor

ENDIF

colorfondo es una variable pública.

Nada más eso, no voy a personalizar mi software porque a uno le gusta gris, al otro amarillo, al siguiente rojo, el usuario decide al momento de trabajar en cada estación y punto.

Saludos desde Costa Rica.

Walter R. Ojeda Valiente

unread,
Sep 30, 2010, 9:33:33 PM9/30/10
to publice...@googlegroups.com
Hola José Anthony

Eso es lo correcto, que el usuario decida que color le gusta de una lista que tiene a su disposición o simplemente que todos usen el color con el que tú diseñaste. Estar dándole los gustos a cada uno es una pérdida de tiempo y por lo tanto de dinero.

Saludos.

Walter.

Reply all
Reply to author
Forward
0 new messages