![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TButton [D7, Win95/98, WinXP]
Isaev © (2005-05-22 16:18:00)Привет Мастерам!
Как сделать, чтобы кнопка была видимая, но не реагировала на клик... При Enabled:=False она затемняется, а как сделать чтобы она не изменяла цвет и не нажималась, пока ей не разрешишь?
ЮЮ (2005-05-23 08:04:00) [1]Если закрытие выполняется в обработчике ButtonXXXClick, то
при создании
ButtonXXX.OnClick := nil;
после того как показалась
ButtonXXX.OnClick := ButtonXXXClick;
Lehiy (2005-05-23 07:47:00) [2]Положи кнопку на панель, сделай панели enabled:=false, и будет тебе счастье.
Isaev (2005-05-22 17:20:00) [3]А можно сделать Enabled:=False, но в ручную перересовать в "типа" обычном виде?
CTAPbIi (2005-05-22 17:18:00) [4]Может и некрасиво, но зато пользователь знает, что на кнопку нажимать бесполезно, пока она disabled, и не будет в нее тыкать и не понимать, почему она не работает
Isaev (2005-05-22 17:15:00) [5]Задумка такая... Форма плавно проявляется на экране... на ней находится это кнопка (для закрытия) Но пока форма не проявилась полностью, кнопка не должна нажиматься... При Enabled:=False она просто становится тёмной, что не красиво... Нужно просто исключить случайное (или намеренное) нажатие в момент проявления, с целью предотвращения глюка ...
CTAPbIi (2005-05-22 17:06:00) [6]Можно поставить в событие OnMouseDown кнопки Abort. Правда надо будет еще предотвратить получение фокуса и нажатие кнопки клавишей. Но это тоже можно сделать. А чем плохо Enabled:=False?
Isaev (2005-05-22 16:50:00) [7]Было-бы неплохо иметь обобщённую процедуру (типа ловушки) для фильтрации поступающих сообщений (независимо от компонента)... Часто бывает нужно, а как это организовать не знаю?
Isaev (2005-05-22 16:36:00) [8]А можно ей просто запретить (временно) получать сообщения???
Defunct (2005-05-22 16:32:00) [9]Извращенная задача нуждается в извращенном решении.
1. Вместо кнопки на том же месте располагать панельку с изображением кнопки.
2. Поверх кнопки располагать прозрачный копонент.
3. Наследовать кнопку, перекрыть метод рисования.