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

Вниз

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

 
Igor Mish   (2003-04-23 12:37) [0]

Как сделать так чтобы DBGrid можно было прокручивать колесиком мыши от начала до конца , а не только в видимой области.


 
sniknik   (2003-04-23 13:48) [1]

нужно переопределить одно событие в гриде (или 2 ап и даун)


TWMMouseWheel = packed record
Msg: Cardinal;
Keys: SmallInt;
WheelDelta: SmallInt;
case Integer of
0: (
XPos: Smallint;
YPos: Smallint);
1: (
Pos: TSmallPoint;
Result: Longint);
end;

TMyDBGrid = class(TDBGrid)
procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;
end;


само
procedure TMyDBGrid.WMMouseWheel(var Message: TWMMouseWheel);
begin
if DataSource.DataSet.Active then begin
if Message.WheelDelta > 10 then DataSource.DataSet.Prior;
if Message.WheelDelta < -10 then DataSource.DataSet.Next;
end;
end;


пользоватся естественно придется переопределенным гридом (можно сделать его компонентом).


 
Kuusiniemi   (2003-04-23 13:57) [2]

1. RXDbGrid.
2. EhGrid.


 
sunrider   (2003-05-01 00:17) [3]

Я уже показывал сегодня в форуме как другим способом это можно сделать не создавая новый компонент-наследник. Определи стандартным способом две процедуры на пример FormMouseWheelDown и
FormMouseWheelUp, затем где-нибудь воспольхзоваться тем, что
DBGrid наследник TControl. Данный код у меня работает нормально

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
try
raise EAbort.Create("");
finally
TDBGrid(Sender).DataSource.DataSet.Prior;
end;
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
try
raise EAbort.Create("");
finally
TDBGrid(Sender).DataSource.DataSet.Next;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
TForm(DBGrid1).OnMouseWheelDown:=Form1.FormMouseWheelDown;
TForm(DBGrid1).OnMouseWheelUp:=Form1.FormMouseWheelUp;
end;




 
Тих   (2003-05-01 19:48) [4]

Охренеть... С учетом того, что WM_MOUSEWHEEL может посылаться
-дцать раз в секунду, юзать для фунционала ексепшны - больно жирно, мне так кажется... Хотя, хозяин - барин :-)



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

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

Наверх





Память: 0.45 MB
Время: 0.007 c
1-70234
Dankin
2003-05-11 13:33
2003.05.22
Диалог выбора директории.


3-70118
mihei
2003-04-30 11:56
2003.05.22
Помогите с DBgridEh+CheckBoxes


1-70309
paxer
2003-05-08 13:05
2003.05.22
Как написать числовую константу в двоичном формате?


11-70200
Sam Stone
2002-08-18 14:21
2003.05.22
KOLMemo


1-70360
Viktor
2003-05-04 01:03
2003.05.22
Рисование





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