Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Scroll в DBGrid

6.3K
04 мая 2004 года
Intruder_spb
8 / / 11.04.2004
Не секрет что обычный DBGrid не обрабатывает события прокрутки колесика. Хотелось бы иметь такую возможность для перемещения по записям набора данных. Кстати сам VB я научил воспринимать колесика для прокрутки окна с кодом и т.п. Кому надо, могу ссылку кинуть
258
04 мая 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Intruder_spb
Не секрет что обычный DBGrid не обрабатывает события прокрутки колесика. Хотелось бы иметь такую возможность для перемещения по записям набора данных. Кстати сам VB я научил воспринимать колесика для прокрутки окна с кодом и т.п. Кому надо, могу ссылку кинуть



Посмотри пример для ListBox: http://sources.codenet.ru/download.php?id=361&cid=25&o=0&my=0

Там самый клинический случай, когда контрол даже не обрабатывает события типа WM_VSCROL, поэтому универсальные дрова работающие по принципу определить окно под курсором мыши послать ему сообщение WM_VSCROL пролетают. Но мы можем взять это на себя, и послать вместо WM_VSCROL что-нибудь типа нажатия PgDn (которое контролы почти все обрабытывают нормально), надо токо словить событие поворота колесика и удостоверится что при этом курсор был над нашим контролом - это делается через сабклассинг.

6.3K
05 мая 2004 года
Intruder_spb
8 / / 11.04.2004
Цитата:
Originally posted by SergeySV


Посмотри пример для ListBox: http://sources.codenet.ru/download.php?id=361&cid=25&o=0&my=0

Там самый клинический случай, когда контрол даже не обрабатывает события типа WM_VSCROL, поэтому универсальные дрова работающие по принципу определить окно под курсором мыши послать ему сообщение WM_VSCROL пролетают. Но мы можем взять это на себя, и послать вместо WM_VSCROL что-нибудь типа нажатия PgDn (которое контролы почти все обрабытывают нормально), надо токо словить событие поворота колесика и удостоверится что при этом курсор был над нашим контролом - это делается через сабклассинг.



Спасибо, буду разбираться.

6.3K
05 мая 2004 года
Intruder_spb
8 / / 11.04.2004
в твоем модуле в процедуре
Public Sub HookForm

мне не понятна эта стока

hndForm = FindWindow("ThunderDFrame", frm.Caption)

а конкретно откуда взялось название класса окна "ThunderDFrame" .
Что писать что бы работало в общем случае ?
6.3K
05 мая 2004 года
Intruder_spb
8 / / 11.04.2004
Все, вопрос снят, разобрался.

я заменил hndForm = FindWindow("ThunderDFrame", frm.Caption)

на hndForm = frm.hwnd

все заработало, спасибо
258
05 мая 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Intruder_spb
Все, вопрос снят, разобрался.

я заменил hndForm = FindWindow("ThunderDFrame", frm.Caption)

на hndForm = frm.hwnd

все заработало, спасибо



Заработало? а ну да, FindWindow("ThunderDFrame", frm.Caption) - это поиск UserForm'ы (в VBA они так называются). Через Spy++ подсмотрел их класс и ищу одновременно по классу и по названию окна - для надежности. Просто у UserForm'ы нет свойства hwnd, поэтому приходится выпытать его через API.

2.0K
05 мая 2004 года
TimON
26 / / 17.02.2003
Цитата:
Originally posted by Intruder_spb
Не секрет что обычный DBGrid не обрабатывает события прокрутки колесика. Хотелось бы иметь такую возможность для перемещения по записям набора данных. Кстати сам VB я научил воспринимать колесика для прокрутки окна с кодом и т.п. Кому надо, могу ссылку кинуть


Очень надо! Скинь пжлста!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог