![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из своего компонента отследить [D7, WinXP]
Артем К. © (2004-10-15 14:40:00)активацию и деактивацию приложения?
Заранее спасибо!
Юрий Зотов (2004-10-15 17:18:00) [1]> Артем К. (15.10.04 15:23) [7]
Компонент может подменить оконную функцию приложения (или формы, в том числе, главной формы) своей и, таким образом, перехватить все нужные сообщения (примеры есть в VCL - ищите строки MakeObjectInstance, SetWindowLong и FreeObjectInstance). Но делать это надо очень аккуратно, потому что при удалении компонента нужно восстановить прежнюю функцию - а ведь юзер может положить на формы несколько Ваших компонентов и потом удалять их в произвольном порядке.
Артем К. (2004-10-15 15:23:00) [2]значить никак нельзя из компонента?
Pentium133 (2004-10-15 15:20:00) [3]у TApplication есть методы OnMinimize и OnRestore.
Игорь Шевченко (2004-10-15 15:18:00) [4]
> ведь должно быть какое-то сообщение?
WM_ACTIVATEAPP вообще-то. Но как ты его собрался ловить ?
Артем К. (2004-10-15 15:13:00) [5]я хотел сделать следующее: если приложение активизировалось, то у моего компонента поменялись некоторые св-ва, а если деактивизировалось, то опять их поменять.
Как это отследить, ведь должно быть какое-то сообщение?
clickmaker (2004-10-15 15:03:00) [6]
> [2] Артем К. (15.10.04 14:59)
а что тогда ты имеешь ввиду под активацией и деактивацией?
Артем К. (2004-10-15 14:59:00) [7]и что, они ведь сворачивают и восстанавливают приложение?
clickmaker (2004-10-15 14:52:00) [8]Application.Minimize/Restore