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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2011, 04:48   #1
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию ReleaseOutside в Delphi

в ActionScript есть такая хорошая вещь как событие OnReleaseOutside,
которое происходит, когда кнопка мыши отпущена за пределами чего-либо.

Вопрос такой: как такое же сделать на Delphi?
как окно может узнать что мышка была нажата за его пределами?
на вкладке Events такого события нету,
но не может же быть его вообще не предусмотрено...
какое сообщение нужно ловить для этого события?
xrob вне форума Ответить с цитированием
Старый 15.09.2011, 08:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
отпущена за пределами чего-либо.
В Делфи такого нет, и не нужно. Разве что в таймере GetKeyState или хук ставь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2011, 11:31   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я не думаю что это хороший пример, я лично с AS вообще не знаком.

вам надо чтоб вы могли щелкнув у себя(нажав на кнопку, Down), определить где вы её отпустили? по типу того что делает Spy++ при выборе окна.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.09.2011, 16:47   #4
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Цитата:
Сообщение от xrob Посмотреть сообщение
Вопрос такой: как такое же сделать на Delphi?
как окно может узнать что мышка была нажата за его пределами?
основной вопрос был в этом, я рассчитывал что умные господа внимательно читают...

ну да ладно, приведу более наглядный пример:
допустим ComboBox, тыкаем на компонент - выпадает список.
тыкаем в список - выбрали слот,
тыкаем вне списка - список закрывается.

еще пример:
MainMenu, строка вверху программы - Файл, Правка и т.д.
нажимаем "Файл" - появляется список меню,
нажимаем на списке - выбрали слот,
нажимаем вне списка - список закрывается.

как это сделано?
неужели все эти простые компоненты ставят свои хуки?
что-то я не уверен...
xrob вне форума Ответить с цитированием
Старый 15.09.2011, 19:31   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

большая часть компонентов знает что они потеряли фокус. событие OnExit.

я так не понял причем тут событие, ибо по мне событие это означает что кнопка мыши нажата внутри окна, а отпущена вне.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.09.2011 в 20:21.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54