![]() |
|
|
![]()
|
|
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
У меня есть обработчик OnMouseUP для DBGrid1:
void __fastcall TForm1::DBGrid1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { //код } Мне надо вызвать этот обработчик из события OnTitleClick этого DBGrid1. Как это правильно сделать? Можно просто скопировать весь код из OnMouseUP и вставить в конец OnTitleClick, но хочется просто одной строкой вызвать OnMouseUP. Так не правильно: TForm1::DBGrid1MouseUp(0,0,0,0,0); Подскажите. |
|||
|
||||
| VitasDeWind |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 2.11.2006 Репутация: нет Всего: нет |
А так не пробывала?
Не очень понятен смысл такой процедуры. То есть если щелкаешь по Titly грида происходит какой-код записанный в mouseUp, а не проще испоользовать процедуру к примеру, или mouseUp тоже имеет какое-то значение в этом? |
|||
|
||||
| dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
если ты в коде обработчика не используешь параметры, то вызывай просто:
НО! ты уверена, что это тебе нужно? - OnMouseUp вызывается для всей поверхности контрола, т.е. срабатывает и при щелчке на title, и на пустом поле, и на строках... таким образом, если ты в обработчик OnTitleClick поставишь вызов mouseup, то он у тебя просто два раза будет на один клик срабатывать. брр... тоже неплохо. аналогия:
|
||||
|
|||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Спасибо, работает.
При щелчке на титле происходит сортировка. Со временем понадобился обработчик OnMouseUp. Он считывает значение из текущей записи грида. Надо объединить эти два обработчика. Как лучше объединить в моем случае? Доп. вопрос: Какая цепь событий происходит при щелчке на полосе прокрутки DBGrid? |
|||
|
||||
| dumb |
|
||||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
хм. а почему не OnCellClick? в уже реализованном тобой варианте, ничего объединять не надо - при щелчке на заголовке вызовется и OnTitleClick и OnMouseUp.
вызывается метод Scroll. |
||||
|
|||||
| Лена |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Cпасибо.
Если мне надо было бы объединить событие OnTitleClick с показом одной из страниц PageControl1 (cобытие OnShow cтраницы PageControl1). То тогда так?:
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
мне кажется лучше так..
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
Лена, вообще говоря, прямой вызов обработчиков - это моветон.
и если "клики" - еще туда-сюда, то прямой вызов OnShow - откровенное зло. для "повторяемых" участков кода придумали процедуры и функции - ими и пользуйся. и не стесняйся читать справку по используемым компонентам: чтобы показать определенную страницу PageControl'а нужно установить соответствующее значение в свойство ActivePage(PageControl1->ActivePage = 5;), а не вызывать обработчик OnShow... ps. т.е. когда будешь писать код, пой песенку: "никогда, пара-ра-ра-па-па-па-па-пам, не вызываем обработчики"... |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |