Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Перемещение по DBGrid средней кнопкой мыши   Найти похожие ветки 

 
W   (2005-06-30 08:47) [0]

Почему при перемещении по DBGrid средней кнопкой мыши изменяется только выделение, а не текущее положение указателя?
Как сделать, чтобы при нажатии на среднюю кнопку мыши инфа из базы в контролах обновлялась вместе с выделением?


 
msguns ©   (2005-06-30 09:31) [1]

procedure TfrmListFond.FormCreate(Sender: TObject);
begin
 TDrawGrid(grListFonds).OnMouseWheelDown := FormMouseWheelDown;
 TDrawGrid(grListFonds).OnMouseWheelUp := FormMouseWheelUp;
 TDrawGrid(grFondsNames).OnMouseWheelDown := FormMouseWheelDown;
 TDrawGrid(grFondsNames).OnMouseWheelUp := FormMouseWheelUp;
end;
...
procedure TfrmListFond.FormMouseWheelDown(Sender: TObject;
 Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
 if (Screen.ActiveControl.ClassType<>TDBGrid) then exit;
 with Screen.ActiveControl as TDBGrid do
   if Visible and (DataSource.DataSet<>nil) and (DataSource.DataSet.RecordCount>0) then
      DataSource.DataSet.Next;
end;

procedure TfrmListFond.FormMouseWheelUp(Sender: TObject;
 Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
 if (Screen.ActiveControl.ClassType<>TDBGrid) then exit;
 with Screen.ActiveControl as TDBGrid do
   if Visible and (DataSource.DataSet<>nil) and (DataSource.DataSet.RecordCount>0) then
      DataSource.DataSet.Prior;
end;


 
msguns ©   (2005-06-30 09:33) [2]

Второй вопрос неясен


 
W   (2005-06-30 12:34) [3]

У TDrawGrid есть событие OnMouseWheelUp, а у TDBGrid - нет.
По поводу второго вопроса... Надо как раз чтобы при движении колесика мыши в TDBGrid шло перемещение указателя по базе, т.е. изменялась текущая запись. На деле же происходит вот что: выделение ползет вместе с колесом, а указатель у Грида остается на том месте, где был. Чтоб его сместить, надо либо клавишу управления курсором нажать, либо мышью встать на нужную запись.


 
КиТаЯц ©   (2005-06-30 12:40) [4]

> W   (30.06.05 12:34) [3]

Я тек понял "первая часть вопроса" = "вторая часть вопроса в другой формулировке"?

Дык ведь в [1] все есть...


 
W   (2005-06-30 12:44) [5]

Вы поняли правильно. Но [1] не подходит по указанной в [3] причине (см. первое предложение).


 
КиТаЯц ©   (2005-06-30 12:50) [6]

> W   (30.06.05 12:44) [5]

[1] как раз подходит т.к. причина указанная в первом предложении [3] отсутствует по причине 4-го и 6-го предложения в [1]

Поясняю:
TDrawGrid(ИМЯ ВАШЕГО DB ГРИДА).OnMouseWheelDown := FormMouseWheelDown;
TDrawGrid(ИМЯ ВАШЕГО DB ГРИДА).OnMouseWheelUp := FormMouseWheelUp;


 
W   (2005-06-30 12:57) [7]

Спасибо большое за ответ :).


 
Германн ©   (2005-06-30 15:37) [8]

Лучше уж один раз сделать своего наследника от TDBGrid, в котором перекрыть методы DoMouseWheelDown, DoMouseWheelUp. И потом пользоваться им всегда. Раз уж Борланд упрямо не хочет это сам сделать. :(


 
Virgo_Style ©   (2005-06-30 15:43) [9]

msguns ©   (30.06.05 9:31) [1]

Вроде бы надо Handled в true выставлять, или я ошибаюсь?


 
ANB ©   (2005-06-30 15:54) [10]

EhLib грид нормально все перемещает.


 
msguns ©   (2005-06-30 16:33) [11]

>ANB ©   (30.06.05 15:54) [10]
>EhLib грид нормально все перемещает.

Ну да, а в Греции апельсины на улицах растут ;)


 
dolmat   (2005-06-30 16:58) [12]

>Германн ©   (30.06.05 15:37) [8]
> Раз уж Борланд упрямо не хочет это сам сделать. :(
Проверял в 2005 все работает, в 7 действительно не хочет


 
Германн ©   (2005-06-30 17:23) [13]

2 dolmat   (30.06.05 16:58) [12]

Ну нконец-то! :)
Но на 2005 переходить все равно не хочу! :(



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

Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
1-1121678132
granni
2005-07-18 13:15
2005.08.07
создание ресурсного файла


3-1119946221
y0zh
2005-06-28 12:10
2005.08.07
TIBDataBase не видит изменений


14-1121514195
Экспериментатор
2005-07-16 15:43
2005.08.07
Как написать скриптик на VB, который бы


3-1119977045
Reals
2005-06-28 20:44
2005.08.07
Как сделать reconnect к MSSQL


8-1112626691
Charly22
2005-04-04 18:58
2005.08.07
Создание эскизов графических файлов





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