Ignacio,
Gracias por tu respuesta.
>
> Con el poco código que me das es dificil saber porque falla. No obstante,
> lo que debes hacer es crear dos fonts, uno normal y otro tachado, y
> cambiar al tachado cuando quieras en las celdas que lo necesites. Es una
> perdida de tiempo enorme crear el font tachado en el evento OnDrawCell.
>
La idea es crear una fuente en el initialize del formulario y destruirla en
el onclose. La nueva fuente se crea de esta manera:
::oFontAlternativa := ::oArrayBrowse1:oFont:Clone() // Fuente del
ArrayBrowse
Y le cambio una característica de la fuente :
::oFontAlternativa:lStrikeout := .T.
Entonces, en el ondrawcell de las columnas que me interesan pongo:
METHOD PintadoColumnasFrecuencia( oSender, cText, nClrText, nClrPane,
lHighLite, hDC, aRect )
IF ::oClientesVista:cFreq == "S"
SelectObject( hDC, ::oFontAlternativa:Handle )
ELSE
SelectObject( hDC, ::odbVista:oFont:Handle )
ENDIF
RETURN .T.
Siempre usa la fuente del browse (estoy seguro que entra en los dos).
> Si quieres, mandanos un pequeño ejemplo con el problema. y le echo un
> vistazo.
>
Procuraré...
>> Entonces... ¿cual es la estructura de oFont:SaveToText?
>
> ::cName + "," + LTrim( Str( ::nSize ) ) + "," + ;
> LTrim( Str( ::nWidth ) ) + "," + LTrim( Str( ::nHeight ) ) + "," +
> ;
> LTrim( Str( ::nStyle ) ) + "," + LTrim( Str( ::nWeight ) ) + "," +
> ;
> LTrim( Str( ::nOrientation ) ) + "," + ToString( ::lBold ) + "," +
> ;
> ToString( ::lItalic ) + "," + ToString( ::lUnderline ) + "," + ;
> ToString( ::lStrikeOut ) + "," + LTrim( Str( ::nCharSet ) )
>
Gracias!!
Saludos,
José Luis Capel
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
>
http://www.xailer.com
> "José Luis Capel" <
jose.luis@iaicom.com> escribió en el mensaje
> news:44ff1222$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
>> Ignacio,
>>
>>
>> "Ignacio Ortiz de Zúñiga" <
NoName@xailer.com> escribió en el mensaje
>> news:44ff04c9>
>>> Puedes atrapar el evento oColum:OnDrawCell y dese ahí modificar el font
>>> a utilizar con:
>>>
>>> SelectObject( hDC, oFont:Handle )
>>>
>>
>> Estupendo!! Ahora la siguiente pregunta:
>>
>> ::oFontAlternativa := ::oArrayBrowse1:oFont:Clone()
>> ::oFontAlternativa:lStrikeout := .T.
>>
>> Esto parece que no cambia la fuente alternativa a 'tachado'.
>>
>> Entonces... ¿cual es la estructura de oFont:SaveToText?
>>
>> Saludos y gracias,
>> José Luis Capel
>>
>
>