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

Вниз

прокрутка DBGrid колесом мыши   Найти похожие ветки 

 
aleko   (2006-09-27 00:27) [0]

Доброго времени суток, уважаемые мастера, подскажите как прокрутить сетку DBGrid при помощи колеса мыши?
Пробовал написать процедуру перехвата сообщения WM_MOUSEWHEEL и в зависимости от направления вращения колеса осуществлять переход в наборе данных Тable на соотвественно предыдущую или следующую строку - это работает, но только до тех пор пока я не щелкну по какой нибудь ячейке сетки - потом перемещается только выделение, а переход по записям не происходит, почему? Можно конечно сделать DBGrid неактивной или что-то в этом роде, тогда все нормально, но ведь это не выход.


 
Германн ©   (2006-09-27 00:34) [1]

Переходи на BDS2006. Там сей баг исправлен. Или посмотри реализацию в TRxDbGrid методов DoOnMouseWheelDown и DoOnMouseWheelUp и сделай у себя так же.


 
aleko   (2006-09-27 03:51) [2]

Спасибо. Нашел в Королевстве ответ - работает, привожу, может кому пригодится.
Подскажите что именно происходит при FormCreate, никак не могу врубиться? Сорри за идиотский вопрос, но хочется разобраться :)



type
 TForm1 = class(TForm)
...
 private
   { Private declarations }
   procedure NewGridWinProc(var Msg: TMessage);
...
 end;

implementation

var
 OldGridWinProc: TWndMethod;

procedure TForm1.FormCreate(Sender: TObject);
begin
...
 OldGridWinProc := DBGrid1.WindowProc;
 DBGrid1.WindowProc := NewGridWinProc;
...
end;

procedure TForm1.NewGridWinProc(var Msg: TMessage);
begin
 if Msg.Msg = WM_MOUSEWHEEL then begin
   if SmallInt(HiWord(Msg.wParam)) > 0
     then DBGrid1.DataSource.DataSet.Prior
     else DBGrid1.DataSource.DataSet.Next;
   Msg.Result := 1;
 end else OldGridWinProc(Msg);
end;



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

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

Наверх





Память: 0.44 MB
Время: 0.076 c
3-1155885573
Patrick
2006-08-18 11:19
2006.10.15
TimeOut Expired


3-1155799599
samone
2006-08-17 11:26
2006.10.15
Копирование таблиц


2-1159281738
jjj
2006-09-26 18:42
2006.10.15
Вопрос по DBGrid`у


15-1159206253
vecna
2006-09-25 21:44
2006.10.15
Хорошая статейка про строки и дин.массивы.


2-1159324834
balepa
2006-09-27 06:40
2006.10.15
Не пойму почему не видно Label ов





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