hola que tal....
haber estoy usando un componente RxDBLookupCombo conectado a una base de datos... trabajo con delphi 6.... el resultado son unos 1000 campos que bienen ordenados... la persona encargada de utilizar esta parte del programa me pide que cuando se despliegue el combo y se mueva la ruedita del mouse el combo se mueva... asi como se hace en word con la reuedita...
estuve averiguando y encontre que existe el evento MouseWheel, MouseWheelDown, MouseWheelUp... lo probe utilizandolo en un reporte y funciono ala perfeccion... pero cuando fui al RxDBLookupCombo sorpresa... no tiene el evento onmousewheel......
como hago para que pueda utilizar ese evento en el RxDBLookupCombo ????
o como hago para que se mueva con la ruedita????
este es el codigo que utilizo para el reporte
Código:
procedure TPrevi.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
var
Info: TScrollInfo;
begin
Info.cbSize := SizeOf( Info );
Info.fMask := sif_Pos;
GetScrollInfo( Preview.Handle, sb_Vert, Info );
Info.nPos := Info.nPos + Mouse.WheelScrollLines;
//showmessage(inttostr(Info.nPos));
if Info.nPos >= 0 then
begin
SendMessage( Preview.Handle, wm_VScroll, MakeLong( sb_ThumbPosition,
Info.nPos ), 0 );
SetScrollInfo( Preview.Handle, sb_Vert, Info, True );
end;
Handled := true;
end;
procedure TPrevi.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
var
Info: TScrollInfo;
begin
Info.cbSize := SizeOf( Info );
Info.fMask := sif_Pos;
GetScrollInfo( Preview.Handle, sb_Vert, Info );
Info.nPos := Info.nPos - Mouse.WheelScrollLines;
//showmessage(inttostr(Mouse.WheelScrollLines ));
if Info.nPos >= 0 then
begin
SendMessage( Preview.Handle, wm_VScroll, MakeLong( sb_ThumbPosition,
Info.nPos ), 0 );
SetScrollInfo( Preview.Handle, sb_Vert, Info, True );
end;
Handled := true;
end;