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

Вниз

Как определить в видимой части номер строки в StringGrid   Найти похожие ветки 

 
koha ©   (2006-09-03 13:02) [0]

Такая проблема: создана сетка с данными нужно правой кнопкой мыши установить фокус на строке.
- Использовал такой код:
procedure TForm1.StrGridMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin  
 if (Y div StrGrid.DefaultRowHeight) > StrGrid.RowCount -1 then
   StrGrid.Row:=StrGrid.RowCount-1
 else StrGrid.Row:=(Y div StrGrid.DefaultRowHeight);  
end;

- Но это работает пока список не прокручен, а если список прокручен, то нужно знать номер первой строки в видимой части StringGrid чтобы получить фокус StrGrid.Row:= < № 1 строки в видимой части > + (Y div StrGrid.DefaultRowHeight)

- Как найти номер 1 строки в видимой части StringGrid?


 
Loginov Dmitry ©   (2006-09-03 13:04) [1]

Думаю, можно обойтись функцией CellRect()


 
Virgo_Style ©   (2006-09-03 13:10) [2]

MouseToCell


 
Крокодил Гений   (2006-09-03 13:21) [3]

TopRow - тоже вариант )


 
koha ©   (2006-09-03 15:13) [4]

Спасибо за советы, но мне кажется я неплохой метод нашел тоже:

procedure TForm1.StrGridMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
Var GrCoord: TGridCoord;
begin
 GrCoord:=StrGrid.MouseCoord(X,Y);
 if (ssRight in Shift) then
 if GrCoord.Y = -1 then StrGrid.Row:=StrGrid.RowCount-1
 else StrGrid.Row:=GrCoord.Y;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1153495580
Ravil
2006-07-21 19:26
2006.09.24
Считывание текстовой информации в БД!


3-1152879525
MsGuns
2006-07-14 16:18
2006.09.24
Загрузка объемных данных в рамках одной транзакции


15-1157577798
не ББаба
2006-09-07 01:23
2006.09.24
Закрыть тему Прочее(Потрепаться)


3-1153908793
Fishka
2006-07-26 14:13
2006.09.24
Interbase и кодировка при первой записи


15-1157398612
Евгений Р.
2006-09-04 23:36
2006.09.24
Delphi и WinRar