Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Modificar las propiedades de un TListView (https://www.clubdelphi.com/foros/showthread.php?t=94402)

Angel.Matilla 25-01-2020 12:15:59

Modificar las propiedades de un TListView
 
En un TListView necesito que sólo las dos primeras columnas del mismo se muestern en ngerita. Estoy usando este código:
Código:

void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
    Sender->Canvas->Font->Style  = TFontStyles() << fsBold;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender, TListItem *Item, int SubItem, TCustomDrawState State, bool &DefaultDraw)
{
    if (SubItem > 0)
          Sender->Canvas->Font->Style = TFontStyles() >> fsBold;
}
//---------------------------------------------------------------------------

Pero sólo consigo que me mantenga en negrita el Caption de cada una de los Items. La línea if (SubItem > 0) la he probado como está y con if (SubItem > 1), pero el resultado es el mismo.

Angel.Matilla 25-01-2020 12:40:18

¡Pero que burro soy! Sólo me hacía falta poner el tipo de letra de todo el ListView con negrita.

escafandra 25-01-2020 12:43:16

Prueba con
Código PHP:

if(SubItem == 0){
Sender->Canvas->Font->Style  TFontStyles() << fsBold;


Saludos.

Angel.Matilla 27-01-2020 10:34:16

Cita:

Empezado por escafandra (Mensaje 535347)
Prueba con
Código PHP:

if(SubItem == 0){
Sender->Canvas->Font->Style  TFontStyles() << fsBold;


Saludos.

No vale. Con ese código la primera columna (el Caption de cada Item) no lo pone en negrita.

escafandra 27-01-2020 14:10:13

Entendí que sólo querías las dos primeras columnas en negrita y el resto en normal. La idea era unir ese código al del Caption del Item aunque puse SubItem == 0 y debe ser SubItem == 1:

Código PHP:

void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *SenderTListItem *ItemTCustomDrawState Statebool &DefaultDraw)
{
     
Sender->Canvas->Font->Style  TFontStyles() << fsBold;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *SenderTListItem *Itemint SubItemTCustomDrawState Statebool &DefaultDraw)
{
     if (
SubItem == 1)
          
Sender->Canvas->Font->Style TFontStyles() << fsBold;
}
//--------------------------------------------------------------------------- 



Saludos.

Angel.Matilla 28-01-2020 09:48:48

Muchas gracias por la ayuda.


La franja horaria es GMT +2. Ahora son las 02:40:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi