![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Скажите пожалуйста возможно ли как-нибудь реализовать скроллинг с помощью колеса мыши в DBLookupComboBox
![]() |
|
#2
|
||||
|
||||
|
Код:
private
{ Private declarations }
procedure MouseWheelHandler(var Message: TMessage);override;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MouseWheelHandler(var Message: TMessage);
var
p:TPoint;
begin
GetCursorPos(p);
If WindowFromPoint(p)=DBLookupComboBox1.Handle then
begin
If Message.WParam<0 then
DBLookupComboBox1.Perform(WM_VSCROLL, SB_LINEDOWN, 0)
else
DBLookupComboBox1.Perform(WM_VSCROLL, SB_LINEUP, 0);
end;
end; |
|
#3
|
||||
|
||||
|
Из темы про DB Grid, делал так не пашет.
|
|
#4
|
|||
|
|||
|
в коде приведенном выше нужно это:
Код:
DBLookupComboBox1.Perform(WM_VSCROLL, SB_LINEDOWN, 0); Код:
DBLookupComboBox1.Perform(WM_KEYDOWN, VK_DOWN, 0); Код:
DBLookupComboBox1.Perform(WM_VSCROLL, SB_LINEUP, 0); Код:
DBLookupComboBox1.Perform(WM_KEYDOWN, VK_UP, 0); Последний раз редактировалось Assistant, 26.02.2011 в 09:16. |
|
#5
|
||||
|
||||
|
Нет он тупо (даже без этой процедуры) при нажатии на клавиатуре up/down переходит по списку, но не прокручивает.
|
|
#6
|
|||
|
|||
|
дак ты не клавой нажимай, а скроллером крути в области DBLookupComboBox
|
|
#7
|
||||
|
||||
|
Цитата:
Так то оно крутиться безо всяких процедур, хотел добавить мышь ![]() |
|
#8
|
|||
|
|||
|
Цитата:
P.S. НУЖНО использовать код который привёл movnet, только с моими изменениями. Последний раз редактировалось Assistant, 26.02.2011 в 21:14. |
|
#9
|
||||
|
||||
|
Цитата:
А как тогда сделать чтобы с развернутым списком работало? ![]() |
|
#10
|
||||
|
||||
|
Спасибо брацы за советы, вот мой образчик
Код:
If DBLookUpComboBox.Focused then
If Message.WParam<0 then
DBLookUpComboBox.Perform(WM_KEYDOWN, VK_DOWN, 0)
else
DBLookUpComboBox.Perform(WM_KEYDOWN, VK_UP, 0);Последний раз редактировалось lmikle, 21.07.2011 в 18:55. |