Re: Avanzando con TBrowseMod
Publicado: Lun Feb 08, 2021 4:10 pm
Desde el IDE?
Gracias
Gracias
El entorno de desarrollo definitivo en Xbase
https://forum.xailer.com/
El anterior Browse tenía la posibilidad de establecer un font por cada columna. No obstante, era muy poco útil, porque no suele ser habitual que todos los elementos de una columna se pinten con un font distinto. Lo normal es que se cambie el font cuando se produce alguna condición en los datos que se muestran. Por dicho motivo y en aras a no consumir recursos innecesariamente, decidí no incluir la propiedad oFont en las columnas.
Código: Seleccionar todo
CLASS TForm1 FROM TForm
component oFontBold AS TFont
.....
Código: Seleccionar todo
METHOD FormInitialize( oSender ) CLASS TForm1
::oFontBold := ::oFont:Clone()
::oFontBold:lBold := .T.
Código: Seleccionar todo
SelectObject( hDC, ::oFont:Handle ) // selecciona font por defecto
with object oCol
if :nDataCol == 5 .AND. xValue > 0
cValue := :aEditListText[ xValue ]
if cValue != "uno"
SelectObject( hDC, ::oFontBold:Handle ) // cambio el font en casos especificos
ENDIF
endif
end with
Código: Seleccionar todo
METHOD FormDestroy( oSender ) CLASS TForm1
::oFontBold:End()
RETURN Nil
No le entiendo. En el browse no existe ningún título como tal. No sé a que se refiere. Lo sientogabo1 escribió: Mié Feb 10, 2021 4:20 pm Ignacio, gracias por responder..
El propósito de cambiar el font, en mi aplicación uso regularmente fuentes grandes 12 a 18px, pero el titulo del browse con fuentes grandes se pierden por que no caben, ese el motivo (y estéticamente también pierde vista).
Quizás si sea posible si así usted lo considera viable poder cambiar la fuente del titulo del browse.
Saludos!
Exactamente igual, pero con otro evento:gabo1 escribió: Jue Feb 11, 2021 4:27 pm Ignacio,
Tiene usted razón no hay ningún titulo en el browsemod, pero me refiero a los Headers de cada columna
Saludos!
.
Código: Seleccionar todo
METHOD BrowseMod1DrawHeader( oSender, oItem, cText, nImage, nClrText, nClrPane, hDC, aRect ) CLASS TForm1
REDECLARE oItem as THeaderItemMod
SelectObject( hDC, ::oFont:Handle )
with object oItem
if :cHeader == "Street"
SelectObject( hDC, ::oFontBold:Handle )
endif
end with
RETURN Nil
Buenas tardes, lo he probado y va bien, de esta forma podemos personalizar el font en el header.ignacio escribió: Jue Feb 11, 2021 4:36 pmExactamente igual, pero con otro evento:gabo1 escribió: Jue Feb 11, 2021 4:27 pm Ignacio,
Tiene usted razón no hay ningún titulo en el browsemod, pero me refiero a los Headers de cada columna
Saludos!
.
SaludosCódigo: Seleccionar todo
METHOD BrowseMod1DrawHeader( oSender, oItem, cText, nImage, nClrText, nClrPane, hDC, aRect ) CLASS TForm1 REDECLARE oItem as THeaderItemMod SelectObject( hDC, ::oFont:Handle ) with object oItem if :cHeader == "Street" SelectObject( hDC, ::oFontBold:Handle ) endif end with RETURN Nil
Código: Seleccionar todo
local oCol
WITH OBJECT ::oBrowseMod1
FOR EACH oCol IN :aDisplayCols
:AdjustColWidth( oCol:oHeaderCol )
NEXT
END WITH