Как добавить/удалить строку колонку в TStringGrid.
Компилятор: C++ Builder
Делается это вручную при помощи свойств RowCount и
ColCount. Ниже представлен пример добавления строки.
Добавление колонки делается примерно так же.
void __fastcall
InsertRow(TStringGrid *StringGrid, long AfterIndex)
{
SNDMSG(StringGrid->Handle, WM_SETREDRAW, false,
0);
try
{
int row_count =
StringGrid->RowCount;
StringGrid->RowCount = row_count + 1;
for (int row = row_count;
row > AfterIndex + 1; row--)
StringGrid->Rows[row]
= StringGrid->Rows[row - 1];
StringGrid->Rows[AfterIndex +
1]->Clear();
}
catch (...)
{
SNDMSG(StringGrid->Handle,
WM_SETREDRAW, true, 0);
}
SNDMSG(StringGrid->Handle, WM_SETREDRAW,
true, 0);
RECT R
= StringGrid->CellRect(0, AfterIndex);
InflateRect(&R, StringGrid->Width,
StringGrid->Height);
InvalidateRect(StringGrid->Handle, &R, false);
}
|