Я хочу реализовать процедуру FillCell для TStringGrid. Я хочу заполнить определенную ячейку цветом, но только тогда, когда ячейка (строка) не выбрана.TStringGrid: Можно ли узнать «состояние» ячейки?
procedure TMyStrGrid.FillCell(Rect: TRect; aColor: TColor);
begin
//if NOT (gdSelected in State) then <---- how do I obtain the 'State' here?
begin
Canvas.Brush.Color:= aColor;
Canvas.FillRect(Rect);
end;
end;
Это просто упражнение :) Я пытаюсь выяснить VCL.Grids.pas, что довольно сложно.
Когда вы называете 'FillCell'? В ответ на какое событие? 'OnDrawCell' обеспечивает состояние рисования. –
OnDraw. Я знаю, что вы собираетесь предложить: передать состояние как параметр. Но я хочу знать, можно ли найти состояние, не передавая его в качестве параметра. – Ampere
Почему бы вам это сделать? У вас уже есть правильное решение. Передайте параметр. –