Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 11:38   #1
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию Обработка событий в Delphi

У меня такая проблема...

В DBGrid в обработчике событий OnDblClick у меня выполняются действия, которые должны выполняться только если щелкать 2 раза по строке данных, а не по заголовку.

А при нажатии мыши на заголовке (событие OnTitleBtnClick) у меня происходит сортировка по полю.

Как можно отключить выполнение события OnDblClick при двойном щелчке мыши по заголовку?

пардон за то, что коряво написал... надеюсь вы меня поняли
SlavaSH вне форума Ответить с цитированием
Старый 26.03.2009, 11:45   #2
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Отслеживай позицию мыши и если она в заголовке то exit ,иначе твои действия
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 26.03.2009, 12:17   #3
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от maladoy Посмотреть сообщение
Отслеживай позицию мыши и если она в заголовке то exit ,иначе твои действия
а как узнать в заголовке она или нет?
SlavaSH вне форума Ответить с цитированием
Старый 26.03.2009, 12:33   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

В стандартном DBGrid вроде нет реакции на клики по заголовку.
Их нужно еще "прицепить" туда.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 26.03.2009, 12:36   #5
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Kotofff Посмотреть сообщение
В стандартном DBGrid вроде нет реакции на клики по заголовку.
Их нужно еще "прицепить" туда.
есть!
OnTitleClick называется это событие, но у меня DBGridEh и там есть событие OnTitleBtnClick, это практически одно и тоже
SlavaSH вне форума Ответить с цитированием
Старый 26.03.2009, 12:37   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Kotofff
Есть. OnTitleClick
Цитата:
SlavaSH
Присмотрись к совету Молодого
I'm learning to live...

Последний раз редактировалось Stilet; 26.03.2009 в 12:41.
Stilet вне форума Ответить с цитированием
Старый 26.03.2009, 12:45   #7
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Есть. OnTitleClick

Присмотрись к совету Молодого
так у меня то как раз и проблема в том, чтобы узнать по заголовку мыша клацнула или не по заголовку. Если мне удастся определить это, то все будет ок....
но как это делать???
SlavaSH вне форума Ответить с цитированием
Старый 26.03.2009, 13:01   #8
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

GetCursorPos()
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Старый 26.03.2009, 13:03   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Скажу больше
Есть Mouse.CursorPos С помошью DBGrid.ScreenToClient(Mouse.CursorP os) получиш координаты мыши на DBGride и смотри уже их.

ТАкого же эффекта можно добиться заюзав OnMouseMove
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.03.2009, 13:15   #10
SlavaSH
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Скажу больше
Есть Mouse.CursorPos С помошью DBGrid.ScreenToClient(Mouse.CursorP os) получиш координаты мыши на DBGride и смотри уже их.

ТАкого же эффекта можно добиться заюзав OnMouseMove
ну а что мне дадут координаты мыши???
я же не знаю какие координаты у моего заголовка на DBGride

что-то у вас какие-то изощренные методы с Молодым :-) Не верю я в то, что это так сложно...

у меня при двойном щелчке на заголовке вызываются два события
OnTitleBtnClick и OnDblClick
нужно сделать так, чтобы при вызове события OnTitleBtnClick событие OnDblClick не вызывалось!
вопрос в том как это сделать?
SlavaSH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка событий от нескольких однотипных девайсов MadButcher Win Api 0 18.03.2009 15:05
Обработка событий в C++ Builder BychkovVV Помощь студентам 3 02.03.2009 01:48
Обработка событий динамически созданных объектов в С++ Builder Shafty Помощь студентам 1 26.02.2009 16:11
Обработка в Excel внешних событий pan Microsoft Office Excel 4 22.02.2009 17:26
обработка событий из консоли! nereus Общие вопросы Delphi 0 07.02.2007 15:33