![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: нет Всего: 12 |
Здравствуйте!
Мне бы очень хотелось сделать такую кнопку, которая бы при первом клике нажималась (не отпускаясь после этого). При этом показывается меню. Потом при закрытии меню или повторном клике по этой кнопке она отпускается. Использовать хочется TButton, чтобы можно было до этой кнопки с помощью Tab добраться. И желательно обойтись без дополнительных компонентов. Были бы замечательно, если бы кнопке можно было бы послать какое-нибудь сообщение типа "нажмись и замри" Спасибо за любые предложения! |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Данной функциональности можно добиться от TSpeedButton, кром получения фокуса ввода
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Такой вариант: Кладем панельку. Делаем ей нужный раздел. Устанавливаем TabStop в true. Устанавливаем BorderStyle в sSingle, Ctl3D в false.
Длее события: Panel1Enter - Panel1.Ctl3D:=false; Panel1Exit - Panel1.Ctl3D:=true; Длее на события клик и кейпресс: with Panel1 do if BevelOuter=bvRaised then BevelOuter:=bvLowered else BevelOuter:=bvRaised; Немножко своеобразно смотрится, но мне так даже больше понравилось :-) Особенно, когда таких кнопочек много. |
|||
|
||||
| Vitalik |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: нет Всего: 12 |
Воть, нашёл неплохое решение.
Есть маленькая кнопочка Button1 и произвольное контекстное меню PopupMenu1 с пунктом MenuItem1):
Всё вроде работает отлично. Но только меня немного смущает очень часто повторяющийся код:
Может можно как-нибудь более изящно решить данную задачу? |
||||||||
|
|||||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |