Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделение активной строки 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо