C++Builder Tips


リストビュー・サブアイテムのフォント変更(行)


リストビューのサブアイテムを変更するサンプルです。
行を選択するとサブアイテムをボールド表示します。



//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  ListView1->ViewStyle = vsReport;
  ListView1->MultiSelect = true;

  for (int i=0;i<5;i++){
    ListView1->Columns->Add()->Caption = "Field" + IntToStr(i);
  }

  for (int i=0;i<100;i++){
    ListView1->Items->Add()->Caption = i;
    ListView1->Items->Item[i]->SubItems->Add("項目0-" + IntToStr(i));
    ListView1->Items->Item[i]->SubItems->Add("項目1-" + IntToStr(i));
    ListView1->Items->Item[i]->SubItems->Add("項目2-" + IntToStr(i));
    ListView1->Items->Item[i]->SubItems->Add("項目3-" + IntToStr(i));
    ListView1->Items->Item[i]->SubItems->Add("項目4-" + IntToStr(i));
}

}
//---------------------------------------------------------------------------

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

DownLoad bcbtips083.lzh 4KB(BCB5)