Вот один обработчик: Код (Text): void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect) { selIndex = ARow; InvalidateRect( StringGrid1->Handle, NULL, false ); } А вот другой: Код (Text): void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { StringGrid1->Canvas->Brush->Color = ( ARow == selIndex ) ? clRed : clWhite; StringGrid1->Canvas->Rectangle( Rect ); Имя одно и тоже а параметры разные, почему так?
Спасибо Xerx за идею, вот исправлено и доработано (только используем не StringGrid, a DrawGrid, что особой разницы не имеет): void __fastcall TForm1:rawGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { Rect.Left--; Rect.Top--; Rect.Bottom++; Rect.Right++; if (ARow!=0 && ACol!=0) { DrawGrid1->Canvas->Brush->Color = (ARow == selIndex) ? clMoneyGreen : ARow%2 == 0 ? clWhite : clInfoBk; DrawGrid1->Canvas->Rectangle(Rect); } } //--------------------------------------------------------------------------- void __fastcall TForm1:rawGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect) { selIndex = ARow; InvalidateRect( DrawGrid1->Handle, NULL, false ); } Комменты по некотрым моментам: 1. Не понял только куда пихать: DrawGrid1->Canvas->Brush->Style = bsSolid; и поэтому, как мне кажется, пришлось добавлять это: Rect.Left--; Rect.Top--; Rect.Bottom++; Rect.Right++; (смотрим выше) появился один минус - затираются черные границы первого столбца (если первый столбец как FixedCol = 1 (по умолчанию в билдере)) 2. Сделал чтобы нечетные строки подсвечивались (как в некоторых тоталкомандёрах), добавил условие: ARow%2 == 0 ? clWhite : clInfoBk; , если подсветка не нужна, то вместо этой строчки оставляем только clWhite. 3. Не понял, или уже синий совсем, откуда берется Handle из строчки InvalidateRect( DrawGrid1->Handle, NULL, false ); В оющем все Всем удачи.
Если не нужны Fixed Col и Row (FixedCol = 0 и FixedRow = 0), то удаляем условие if (ARow!=0 && ACol!=0) .... и думаем, это гаарят инагда палезна