Andrey |
Отправлено: 18.06.2003, 20:51 |
|
Не зарегистрирован
|
как можно изменить цвет фона любой ячейки и что бы текст тоже был виден. |
|
Георгий |
Отправлено: 18.06.2003, 21:54 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
сначала рисуем фон, а потом сам текст — в обработчике OnDrawCell пишем так:
CODE |
TStringGrid* ptr;
ptr->Canvas->Brush->Color=newcolor;
ptr->Canvas->FillRect(ptr->CellRect(ACol,ARow));
l=ptr->CellRect(ACol,ARow).Left+(ptr->ColWidths[ACol]-ptr->Canvas->TextWidth(ptr->Cells[ACol][ARow]))/2;
u=ptr->CellRect(ACol,ARow).Top+(ptr->RowHeights[ARow]-ptr->Canvas->TextHeight(ptr->Cells[ACol][ARow]))/2;
ptr->Canvas->TextRect(ptr->CellRect(ACol,ARow),l,u,ptr->Cells[ACol][ARow]);
ptr->Canvas->Brush->Color=oldBrush; |
StringGrid->DefaultDrawing=false; — чтобы стандартный обработчик не тратил машинное время
|
|
Andrey |
Отправлено: 19.06.2003, 18:46 |
|
Не зарегистрирован
|
спасибо |
|
|