Текущий архив: 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.45 MB
Время: 0.039 c