Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Выделение активной строки StringGrid   Найти похожие ветки 

 
viola   (2005-02-04 12:56) [0]

Привет ребята!
У меня такой вопрос:
Как мне при нажатии управляющих клавиш(Up,Down)-менялась позиция выделенного элемента stringGrid-a, собственно вся сложность заключается в том, что при перемещении активная ячейка выделялась другим цветом?
Пожалуйста, если есть приведите код!
Заранее благодарна!


 
_vox_   (2005-02-04 14:01) [1]

Пишешь в событие 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


 
viola   (2005-02-04 14:39) [2]

Спасибо оно работает!
Но, а вот как при OnShow формы, устанавливать позицию на первую строчку и закрасить ее?


 
Александр Иванов ©   (2005-02-04 14:49) [3]

viola   (04.02.05 14:39) [2]
То же самое, но без условия, и колонку и строку присвоить нужную.


 
_vox_   (2005-02-04 14:53) [4]

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 и читаешь, читаешь, читаешь...



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.064 c
8-1099486333
avlan
2004-11-03 15:52
2005.02.20
DVD выводится в отдельной форме (DSPack)


1-1107928317
Gloomer
2005-02-09 08:51
2005.02.20
Ошибка при использовании DLL


1-1107704072
Mr-JAck
2005-02-06 18:34
2005.02.20
помогите с тригонометрией


1-1107432911
Павел
2005-02-03 15:15
2005.02.20
Компоненты для работы с регулярными выражениями


14-1106757005
Delphin
2005-01-26 19:30
2005.02.20
Помогите решить задачу