Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

Проблемка только одна - колесо мышки   Найти похожие ветки 

 
ponyol   (2003-07-07 17:38) [0]

Вопрос короткий - можно ли заставить работать колесо мышки в делфи 3, в частности в DBGrid ?


 
Юрий Зотов ©   (2003-07-07 17:56) [1]

Можно, только в обработчике WM_MOUSEWHEEL скроллировать надо DataSet, а не сам DBGrid.


 
ponyol   (2003-07-07 19:18) [2]

Это радует, но вот только у меня не получается работа с WM_MOUSEWHEEL, левая и правая кнопки - все нормально, а вот
"колесо" форма и грид не видят, вернее обработчик.
Может какой хитрый код надо ?


 
Pat ©   (2003-07-07 21:56) [3]

>Может какой хитрый код надо ?
Неплохо было бы посмотреть твой "нехитрый" код


 
Юрий Зотов ©   (2003-07-07 22:27) [4]

Вероятнее всего, причина просто в D3. Насколько помню, там еще не было обработки WM_MOUSEWHEEL.

Загляните в исходники TWinControl. Если там нет события OnMouseWheel, значит, так оно и есть. Тогда надо писать своего потомка TDBGrid и вводить в него обработку WM_MOUSEWHEEL. Или переходить, например, на D5, там уже точно все есть.


 
ponyol   (2003-07-08 00:24) [5]

Юрий, спасибо за терпение !
Я так и чувствовал, поэтому и вопрос так поставил, "можно ли заставить...". OnMouseWheel - просто нет :(
Я буду очень благодарен, если Вы натолкнете меня на мысль, как эту обработку осуществить !
Удачи!


 
Fighter ©   (2003-07-08 04:43) [6]

Я делал наследника от 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 07:38) [7]

БОЛЬШОЕ спасибо !!!


 
Anatoly Podgoretsky ©   (2003-07-08 10:00) [8]

Проще поставить нормальный драйвер мыши.


 
Fighter ©   (2003-07-09 05:05) [9]

Не думаю что драйвер мыши спасёт!



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

Текущий архив: 2003.09.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-24328
Dush
2003-08-18 16:17
2003.09.08
Помогите со структурой таблицы


1-24412
Кирилл
2003-08-26 12:00
2003.09.08
VCLSkin


1-24438
shark
2003-08-25 16:14
2003.09.08
Вызов функции из функции


14-24648
Ev_genus
2003-08-21 00:56
2003.09.08
Конкурс: Кто знает больше скриптовых движков?


6-24588
Skywalker
2003-07-03 15:14
2003.09.08
Как получить физический путь к root сайта