![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемка только одна - колесо мышки
ponyol © (2003-07-07 17:38:00)
Вопрос короткий - можно ли заставить работать колесо мышки в делфи 3, в частности в DBGrid ?
Fighter (2003-07-09 05:05:00) [1]
Не думаю что драйвер мыши спасёт!
Anatoly Podgoretsky (2003-07-08 10:00:00) [2]
Проще поставить нормальный драйвер мыши.
ponyol (2003-07-08 07:38:00) [3]
БОЛЬШОЕ спасибо !!!
Fighter (2003-07-08 04:43:00) [4]Я делал наследника от TDBGrid. Лови код:
unit MydbGridScroll;
interface
uses Messages, Classes, dbgrids;
type
TDBGridScroll=class(TDBGrid)
private
( var Message: TMessage)
Я делал наследника от TDBGrid. Лови код:
unit MydbGridScroll;
interface
uses Messages, Classes, dbgrids;
type
TDBGridScroll=class(TDBGrid)
private
procedure WMMouseWheel(var Message: TMessage); message WM_MOUSEWHEEL;
end;
procedure Register;
implementation
{ TDBGridScroll }
procedure TDBGridScroll.WMMouseWheel(var Message: TMessage);
begin
if Message.wParam>0 then
DataSource.DataSet.Prior
else
DataSource.DataSet.Next;
end;
procedure Register;
begin
RegisterComponents("Data Controls", [TDBGridScroll]);
end;
end.
Картинку для компонента или нарисуй (выбери) сам или будет стандартная...
ponyol (2003-07-08 00:24:00) [5]
Юрий, спасибо за терпение !
Я так и чувствовал, поэтому и вопрос так поставил, "можно ли заставить...". OnMouseWheel - просто нет :(
Я буду очень благодарен, если Вы натолкнете меня на мысль, как эту обработку осуществить !
Удачи!
Юрий Зотов (2003-07-07 22:27:00) [6]
Вероятнее всего, причина просто в D3. Насколько помню, там еще не было обработки WM_MOUSEWHEEL.
Загляните в исходники TWinControl. Если там нет события OnMouseWheel, значит, так оно и есть. Тогда надо писать своего потомка TDBGrid и вводить в него обработку WM_MOUSEWHEEL. Или переходить, например, на D5, там уже точно все есть.
Pat (2003-07-07 21:56:00) [7]
>Может какой хитрый код надо ?
Неплохо было бы посмотреть твой "нехитрый" код
ponyol (2003-07-07 19:18:00) [8]
Это радует, но вот только у меня не получается работа с WM_MOUSEWHEEL, левая и правая кнопки - все нормально, а вот
"колесо" форма и грид не видят, вернее обработчик.
Может какой хитрый код надо ?
Юрий Зотов (2003-07-07 17:56:00) [9]
Можно, только в обработчике WM_MOUSEWHEEL скроллировать надо DataSet, а не сам DBGrid.