![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение активной строки StringGrid
viola © (2005-02-04 12:56:00)Привет ребята!
У меня такой вопрос:
Как мне при нажатии управляющих клавиш(Up,Down)-менялась позиция выделенного элемента stringGrid-a, собственно вся сложность заключается в том, что при перемещении активная ячейка выделялась другим цветом?
Пожалуйста, если есть приведите код!
Заранее благодарна!
_vox_ (2005-02-04 14:53:00) [1]1. ставишь в инспекторе Grid.Options.goRowSelect в True
2. Чуть-чуть меняешь OnDrawCell на
if ARow = Grid.Row then
begin
Grid.Canvas.Brush.Color := clRed; // Ставишь нужный цвет
Grid.Canvas.FillRect(Rect);
Grid.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Grid.Cells[ACol, ARow]);
end
3. В OnShow пишешь Grid.Row := < номер первой строки >
4. Покупаешь толстую книгу по Delphi и читаешь, читаешь, читаешь...
Александр Иванов (2005-02-04 14:49:00) [2]viola (04.02.05 14:39) [2]
То же самое, но без условия, и колонку и строку присвоить нужную.
viola (2005-02-04 14:39:00) [3]Спасибо оно работает!
Но, а вот как при OnShow формы, устанавливать позицию на первую строчку и закрасить ее?
_vox_ (2005-02-04 14:01:00) [4]Пишешь в событие OnDrawCell:
if (ACol = Grid.Col) and (ARow = Grid.Row) then
begin
Grid.Canvas.Brush.Color := clRed; // Ставишь нужный цвет
Grid.Canvas.FillRect(Rect);
Grid.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Grid.Cells[ACol, ARow]);
end