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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2013, 13:06   #1
Alexandr17-10
Пользователь
 
Регистрация: 12.08.2013
Сообщений: 99
По умолчанию как проверить находитсяли курсор на компоненте

Извиняюсь если тема уже создавалась. Скажите пожалуйста как самым эффективным способом проверить находиться ли курсор мышки на компоненте или нет например для панели при условии если панелей много и для каждой свои параметры если курсор на нем или нет.
Alexandr17-10 вне форума Ответить с цитированием
Старый 18.09.2013, 13:46   #2
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Получаете значение координат курсора, проверяете все контролы на соответствие этим координатам и получаете ответ на свой вопрос
ReportCube вне форума Ответить с цитированием
Старый 18.09.2013, 14:05   #3
Alexandr17-10
Пользователь
 
Регистрация: 12.08.2013
Сообщений: 99
По умолчанию

я видел способ через Api но он большой и если делать для каждого отдельно то очень много кода получается
Alexandr17-10 вне форума Ответить с цитированием
Старый 18.09.2013, 14:29   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
то очень много кода получается
Ни чего не много - в цикле по компонентам формы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.09.2013, 14:33   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Когда курсор мыши на компоненте происходит событие onMouseMove
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 18.09.2013, 15:58   #6
Alexandr17-10
Пользователь
 
Регистрация: 12.08.2013
Сообщений: 99
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
Когда курсор мыши на компоненте происходит событие onMouseMove
А когда его нет на компоненте и таймером тоже не эфективно а мне эфективный способ
Alexandr17-10 вне форума Ответить с цитированием
Старый 18.09.2013, 16:02   #7
develsnik
Форумчанин
 
Регистрация: 21.02.2013
Сообщений: 105
По умолчанию

Попробуй с помощью DragCursor)
develsnik вне форума Ответить с цитированием
Старый 18.09.2013, 16:10   #8
Alexandr17-10
Пользователь
 
Регистрация: 12.08.2013
Сообщений: 99
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ни чего не много - в цикле по компонентам формы
а как это сделать циклом просчитать все компоненты и вообщето не получится так как у меня вместо кнопок используются панели и не все панели являются кнопками только 20 штук ну +- еще 10 а остальные панели
и дело в том что для каждой кнопки свои команды кстати вот они прописаны в ини

Код:
[LibxEditorParameter-->RUS]
// Command Button FileBtn
YesSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Color=clYellow
YesSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Color=clblue
YesSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Size=14
YesSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Caption=&Файл +
YesSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->BorderStyle=1
YesSelectYesEnabledYesClick<--Lib_Ed_2-->FileBtn-->Color=clYellow
YesSelectYesEnabledYesClick<--Lib_Ed_2-->FileBtn-->Font-->Color=clblue
YesSelectYesEnabledYesClick<--Lib_Ed_2-->FileBtn-->Font-->Size=14
YesSelectYesEnabledYesClick<--Lib_Ed_2-->FileBtn-->Caption=&Файл -
YesSelectYesEnabledYesClick<--Lib_Ed_2-->FileBtn-->BorderStyle=2
YesSelectNoEnabledNoClick<--Lib_Ed_2-->FileBtn-->Color=clSilver
YesSelectNoEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Color=clGray
YesSelectNoEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Size=12
YesSelectNoEnabledNoClick<--Lib_Ed_2-->FileBtn-->Caption=Файл
YesSelectNoEnabledNoClick<--Lib_Ed_2-->FileBtn-->BorderStyle=1
NoSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Color=clAqua
NoSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Color=clBlack
NoSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Font-->Size=12
NoSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->Caption=&Файл
NoSelectYesEnabledNoClick<--Lib_Ed_2-->FileBtn-->BorderStyle=1

//Command Button EditBtn
Где Lib_Ed_2 - имя формы
FileBtn и т.п - имя кнопки
Alexandr17-10 вне форума Ответить с цитированием
Старый 18.09.2013, 16:12   #9
Nater
Пользователь
 
Регистрация: 23.05.2009
Сообщений: 59
По умолчанию

Можете попробовать использовать свойство Idle формы. Еще лучше - хук на мышку.
Nater вне форума Ответить с цитированием
Старый 18.09.2013, 16:19   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,544
По умолчанию

или рыть в сторону приход/уход мышки на TСontrol
WM_MOUSEENTER / WM_MOUSELEAVE (windows мessage)
CM_MOUSEENTER / CM_MOUSELEAVE (Delphi message)

некоторые компоненты (control's) но не все их "переводят" в OnMouseEnter / OnMouseLeave.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.09.2013 в 16:22.
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как рисовать график ф-ии с на компоненте TImage? Владимир1111 Помощь студентам 4 02.04.2010 10:26
Как в компоненте DBGrid не изменять размеры таблицы Ellita Помощь студентам 1 01.03.2010 05:46
уберите курсор (в конце программы верните курсор), HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 2 05.06.2009 20:10
Как в компоненте memo сделать ... }{oт@бь)ч Компоненты Delphi 21 07.02.2009 07:10
как осуществить поиск в компоненте WebBrowser1 в delphi 7 SonClan Работа с сетью в Delphi 5 20.11.2007 12:43