• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Builder C++ -> Tstringgrid -> Font -> Style

  • Автор темы sqrk
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

sqrk

Здравствуйте уважаемые программисты!


Тут вдруг понадобилось выделить некоторые строки таблицы TStringGrid. Желательно стилем шрифта. Вот только если определить стиль текста, то он применяется для всех строк сразу (даже еслим изменение стиля шрифта стоит после того как некоторые строки заполнены). А мне бы только для некоторых.


Кто-нибудь сталкивался с такой задачкой? :unsure:
 
S

Sensei

Используй метод TCustomGrid::DrawCell

virtual void __fastcall DrawCell(int ACol, int ARow, const TRect &ARect, Grids::TGridDrawState AState)

п.с. придеться помучаться но ... результат будет норм )
 
S

sqrk

Что-то я не пойму. Для текущей таблицы нет такого метода. Мне объект новый надо создать? Из help не тоже не понятно как делать.


Не покажите ли кусочек кода... :unsure:
 
6

62316e

Вот привем, который че-то делает...
Код:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (ACol == 1 && ARow == 1)
{
dynamic_cast<TStringGrid*>(Sender)->Canvas->Brush->Color = clRed;
dynamic_cast<TStringGrid*>(Sender)->Font->Color = clRed;
}
else
{
dynamic_cast<TStringGrid*>(Sender)->Font->Color = clBlack;
}
dynamic_cast<TStringGrid*>(Sender)->Canvas->TextRect(Rect, Rect.Left+2, Rect.Top+2, dynamic_cast<TStringGrid*>(Sender)->Cells[ACol][ARow]);


}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!