C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DBGridEh, Событие на колесико мыши
Pan-SQL
Отправлено: 23.05.2005, 13:56


Не зарегистрирован







Кто знает, какое событие реагирует на колесико мыши у комонента DBGridEh. Заранее благодарю.
** laifik
Отправлено: 24.05.2005, 10:21


Не зарегистрирован







У этого компонента нет события. У него есть такая возможность передвигаться по строкам с помощью колесика мыши — встроенная. Проверьте. Он тем и отличается от простого Грида.
Gedeon
Отправлено: 24.05.2005, 11:36


Ветеран

Группа: Модератор
Сообщений: 1742



Вам надо написать наследника от гриды и в нем сделать такое событие, надо ловить сообщение WM_MOUSEWHEEL.
Либо переопределить WndProc. Как это делать ищите в форуме, уже было.
Pan-SQL
Отправлено: 26.05.2005, 12:23


Не зарегистрирован







У меня задача такая: На форме расположен компонент DBGridEh и строка состояния StatusBar. Необходимо, чтобы при перемещении фокуса по записям в строке состояния отображался номер активной записи. Перемещение осуществляется путем прокручивания колесика мыши.
Pan-SQL
Отправлено: 26.05.2005, 12:32


Не зарегистрирован







Можно ли сделать так: скопировать содержимое исходников файлов компонента DBGridEx в новые файлы и добавить событие колесика мыши?
avc*
Отправлено: 26.05.2005, 12:40


Не зарегистрирован







При изменении положения курсора набора данных возбуждается событие
TDataSource::OnDataChange с Field is NULL
а уж что его инициировало — клавиатура, мышь или код — безразлично.
Это удобное место для отлова перемещений по НД.

Примерный код
CODE

void __fastcall TF_UniEdit::DSr_MainDataChange(TObject *Sender, TField *Field)
if (Field == NULL)
{ if (QryMain && QryMain->Active && !QryMain->IsEmpty())
    { здесь выводим информацию в StatusBar
     }
   return;
}
// else Обработка редактирования поля
// не забыть предотвратить зацикливание
Pan-SQL
Отправлено: 04.06.2005, 10:09


Не зарегистрирован







При запуске проги возникает EAccessViolatoin. Прога не запускается
AVC
Отправлено: 06.06.2005, 08:56


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

При запуске проги возникает EAccessViolatoin. Прога не запускается

Покажите код. Скорее всего это из конструктора формы — компоненты, на каторые ссылается код еще не до конца созданы.

Вернуться в Вопросы программирования в C++Builder