Главная страница
    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.45 MB
Время: 0.039 c
2-1157608445
zdm
2006-09-07 09:54
2006.09.24
разделитель


15-1157521275
Ega23
2006-09-06 09:41
2006.09.24
Как сказать по-английски?


15-1157442393
cmd
2006-09-05 11:46
2006.09.24
Макрос...


2-1157630697
XAN
2006-09-07 16:04
2006.09.24
programma iz delphi


15-1157248529
Думкин
2006-09-03 05:55
2006.09.24
По поводу одного поста Иксика и свободе слова





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский