リストビューの列幅を自動調整するサンプルです。
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ListView1->ViewStyle = vsReport;
ListView1->Columns->Add()->Caption = "Field-1";
ListView1->Columns->Add()->Caption = "Field---2";
ListView1->Columns->Add()->Caption = "Field-----3";
ListView1->Columns->Add()->Caption = "Field-------4";
ListView1->Columns->Add()->Caption = "Field---------5";
for (int i=0;i<10;i++){
ListView1->Items->Add()->Caption = 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::Button1Click(TObject *Sender)
{
//列幅の自動調整(カラムヘッダに合わせる)
//TListColumn::WidthType参照の事
for (int i=0;i<ListView1->Columns->Count;i++){
ListView1->Column[i]->Width = -2;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//列幅の自動調整(テキストに合わせる)
//TListColumn::WidthType参照の事
for (int i=0;i<ListView1->Columns->Count;i++){
ListView1->Column[i]->Width = -1;
}
}
//---------------------------------------------------------------------------
DownLoad bcbtips075.lzh 4KB(BCB5)