• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

sqrk

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


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


Кто-нибудь сталкивался с такой задачкой? :unsure:
 
Используй метод TCustomGrid::DrawCell

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

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


Не покажите ли кусочек кода... :unsure:
 
Вот привем, который че-то делает...
Код:
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]);


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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab