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

Вниз

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

 
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 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.009 c
1-24475
strimmer
2003-08-27 20:04
2003.09.08
Программа остается в памяти!


1-24450
Ann
2003-08-25 15:40
2003.09.08
Компоненты в Run Time


1-24473
frost
2003-08-26 12:43
2003.09.08
TRichEdit


14-24649
Study
2003-08-20 17:39
2003.09.08
AsPack


1-24442
Nikolai_S
2003-08-25 10:24
2003.09.08
Работа с MS Word через TWordApplication





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