Главная страница
    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.041 c
15-1157465777
GuAV
2006-09-05 18:16
2006.09.24
После Delphi, не могу осмыслить обработку исключений в С++


2-1156642642
Juri
2006-08-27 05:37
2006.09.24
Помогите профильтровать базу данных по дате


8-1141387986
Shtorm
2006-03-03 15:13
2006.09.24
Проблема в MediaPlayer


15-1157516076
SergP
2006-09-06 08:14
2006.09.24
О переводе имен и фамилий.


2-1157193706
SergP.
2006-09-02 14:41
2006.09.24
Почему компилятор показывает Hint?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский