In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Cambiar fuente de una celda

Foro de Xailer profesional en español
Responder
pacoelche
Mensajes: 141
Registrado: Mar Jul 11, 2006 10:32 am

Cambiar fuente de una celda

Mensaje por pacoelche »

¿Es posible cambiar la fuente de una celda de un TDbfBrowse?
Por ejemplo:
- Tengo un TDbfBrowse llamado oBrowse.
- En una de las columnas utilizo un evento OnDrawCell con las siguientes
líneas de código:
METHOD BrowseColumn5aDrawCell( oSender, cText, nClrText, nClrPane,
lHighLite, hDC, aRect ) CLASS Allegro
SELECT CONTADOR
ctext:=H_DESDE+" a "+H_HASTA+" h."
RETURN Nil
- Me gustaría, por ejemplo, que si ctext fuese igual a un texto "x", esa
celda cambiase de color, o tamaño.
Gracias por vuestra ayuda
pacoelche@hotmail.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Cambiar fuente de una celda

Mensaje por ignacio »

Francisco,
Si utilizando el hDC que le suministra el evento OnDrawCell() y la función
de bajo nivel SelectObject()
SelectObject( hDC, oFont:Handle )
El tamaño de la celda no se puede cambiar como es lógico.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje
news:[email=4663d90e@ozsrv2.ozlan.local...]4663d90e@ozsrv2.ozlan.local...[/email]
> ¿Es posible cambiar la fuente de una celda de un TDbfBrowse?
>
> Por ejemplo:
>
> - Tengo un TDbfBrowse llamado oBrowse.
> - En una de las columnas utilizo un evento OnDrawCell con las siguientes
> líneas de código:
>
> METHOD BrowseColumn5aDrawCell( oSender, cText, nClrText, nClrPane,
> lHighLite, hDC, aRect ) CLASS Allegro
> SELECT CONTADOR
> ctext:=H_DESDE+" a "+H_HASTA+" h."
> RETURN Nil
>
> - Me gustaría, por ejemplo, que si ctext fuese igual a un texto "x", esa
> celda cambiase de color, o tamaño.
>
> Gracias por vuestra ayuda
> pacoelche@hotmail.com
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
pacoelche
Mensajes: 141
Registrado: Mar Jul 11, 2006 10:32 am

Cambiar fuente de una celda

Mensaje por pacoelche »

Gracias Ignacio:
Ya lo había conseguido con el evento OnGetData y el siguiente código. De
todas formas y siguiendo mi ejemplo, ¿cómo se puede hacer para cambiar el
color de toda una línea, sin tener que hacerlo columna a columna?, supongo
que será cambiando aCols[x] por otro código, pero ¿cual?
FOR J=1 TO 5
IF J=4 .AND. VACANTES=0
WITH OBJECT ::oBrowse:aCols[4]
:nClrText:=clWhite
:nClrPane:=clBlack
END
ELSE
WITH OBJECT ::oBrowse:aCols[J]
:nClrPane:=clWhite
DO CASE
CASE AT("ALEM",NOMBRE)>0
:nClrText:=clRed
CASE AT("FRAN",NOMBRE)>0
:nClrText:=clBlue
CASE AT("INGL",NOMBRE)>0
:nClrText:=clGreen
CASE AT("ITAL",NOMBRE)>0
:nClrText:=clMaroon
ENDCASE
END
ENDIF
NEXT
De nuevo muchas gracias.
pacoelche@hotmail.com
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:46641a36$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Francisco,
>
> Si utilizando el hDC que le suministra el evento OnDrawCell() y la función
> de bajo nivel SelectObject()
>
> SelectObject( hDC, oFont:Handle )
>
> El tamaño de la celda no se puede cambiar como es lógico.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje
> news:[email=4663d90e@ozsrv2.ozlan.local...]4663d90e@ozsrv2.ozlan.local...[/email]
>> ¿Es posible cambiar la fuente de una celda de un TDbfBrowse?
>>
>> Por ejemplo:
>>
>> - Tengo un TDbfBrowse llamado oBrowse.
>> - En una de las columnas utilizo un evento OnDrawCell con las siguientes
>> líneas de código:
>>
>> METHOD BrowseColumn5aDrawCell( oSender, cText, nClrText, nClrPane,
>> lHighLite, hDC, aRect ) CLASS Allegro
>> SELECT CONTADOR
>> ctext:=H_DESDE+" a "+H_HASTA+" h."
>> RETURN Nil
>>
>> - Me gustaría, por ejemplo, que si ctext fuese igual a un texto "x", esa
>> celda cambiase de color, o tamaño.
>>
>> Gracias por vuestra ayuda
>> pacoelche@hotmail.com
>>
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Cambiar fuente de una celda

Mensaje por ignacio »

Francisco,
No se puede. Lo más sencillo es hacer que el evento OnDrawCell de todas las
columnas apunten al mismo código.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Francisco Martínez García" <pacoelche@hotmail.com> escribió en el mensaje
news:466450ba$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Gracias Ignacio:
>
> Ya lo había conseguido con el evento OnGetData y el siguiente código. De
> todas formas y siguiendo mi ejemplo, ¿cómo se puede hacer para cambiar el
> color de toda una línea, sin tener que hacerlo columna a columna?, supongo
> que será cambiando aCols[x] por otro código, pero ¿cual?
>
> FOR J=1 TO 5
> IF J=4 .AND. VACANTES=0
> WITH OBJECT ::oBrowse:aCols[4]
> :nClrText:=clWhite
> :nClrPane:=clBlack
> END
> ELSE
> WITH OBJECT ::oBrowse:aCols[J]
> :nClrPane:=clWhite
> DO CASE
> CASE AT("ALEM",NOMBRE)>0
> :nClrText:=clRed
> CASE AT("FRAN",NOMBRE)>0
> :nClrText:=clBlue
> CASE AT("INGL",NOMBRE)>0
> :nClrText:=clGreen
> CASE AT("ITAL",NOMBRE)>0
> :nClrText:=clMaroon
> ENDCASE
> END
> ENDIF
> NEXT
>
> De nuevo muchas gracias.
> pacoelche@hotmail.com
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:46641a36$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Francisco,
>>
>> Si utilizando el hDC que le suministra el evento OnDrawCell() y la
>> función de bajo nivel SelectObject()
>>
>> SelectObject( hDC, oFont:Handle )
>>
>> El tamaño de la celda no se puede cambiar como es lógico.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>>
>>
>> "Francisco Martínez García" <pacoelche@hotmail.com> escribió en el
>> mensaje news:[email=4663d90e@ozsrv2.ozlan.local...]4663d90e@ozsrv2.ozlan.local...[/email]
>>> ¿Es posible cambiar la fuente de una celda de un TDbfBrowse?
>>>
>>> Por ejemplo:
>>>
>>> - Tengo un TDbfBrowse llamado oBrowse.
>>> - En una de las columnas utilizo un evento OnDrawCell con las siguientes
>>> líneas de código:
>>>
>>> METHOD BrowseColumn5aDrawCell( oSender, cText, nClrText, nClrPane,
>>> lHighLite, hDC, aRect ) CLASS Allegro
>>> SELECT CONTADOR
>>> ctext:=H_DESDE+" a "+H_HASTA+" h."
>>> RETURN Nil
>>>
>>> - Me gustaría, por ejemplo, que si ctext fuese igual a un texto "x", esa
>>> celda cambiase de color, o tamaño.
>>>
>>> Gracias por vuestra ayuda
>>> pacoelche@hotmail.com
>>>
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder