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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2014, 15:27   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Вопрос по Button

Если нажать на кнопку и отвести с нее мышку она будет оставатся как бы нажатой пока не нажмешь на другой компонент формы, а как сделать чтобы после нажатия она сама возвращалась в обычное состояние?
nibufep вне форума Ответить с цитированием
Старый 22.11.2014, 15:32   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Не совсем понятно, что вы имеете в виду. Она возвращается в исходное состояние сама. Если ей назначен обработки событий, то он выполнится по нажатию кнопки и всё.
Или вы имеете в виду фокус?
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2014, 15:37   #3
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Не совсем понятно, что вы имеете в виду. Она возвращается в исходное состояние сама. Если ей назначен обработки событий, то он выполнится по нажатию кнопки и всё.
Или вы имеете в виду фокус?
да фокус.
nibufep вне форума Ответить с цитированием
Старый 22.11.2014, 15:43   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Что, если убрать фокус у этой кнопки, на которую нажали? В обработчике в конце написать
Код:
Другой_компонент.setFocus;
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2014, 15:46   #5
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Что, если убрать фокус у этой кнопки, на которую нажали? В обработчике в конце написать
Код:
Другой_компонент.setFocus;
тоже думал так сделать, но не совсем нравится данных способ, других нету?
nibufep вне форума Ответить с цитированием
Старый 22.11.2014, 16:02   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

SpeedButton
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.11.2014, 17:03   #7
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
тоже думал так сделать, но не совсем нравится данных способ
На мой взгляд отличный способ. Особенно когда после нажатия на кнопку требуется какой-то ввод данных или другое действие пользователя. Тогда пользователю не нужно будет вручную передавать фокус нужному компоненту.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 27.11.2014, 17:05   #8
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Что, если убрать фокус у этой кнопки, на которую нажали? В обработчике в конце написать
Код:
Другой_компонент.setFocus;
Передавать фокус другому компоненту не всегда возможно
Можно (не задевая национальных и иных чувств других компонентов формы ) именно убрать фокус, для чего написать последними строками в обработчике нажатия TButton:
Код:
Button1.Enabled:=False;
Application.ProcessMessages;
Button1.Enabled:=True;
kropotkina-alice вне форума Ответить с цитированием
Старый 27.11.2014, 17:11   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Если нажать на кнопку и отвести с нее мышку она будет оставатся как бы нажатой пока не нажмешь на другой компонент формы, а как сделать чтобы после нажатия она сама возвращалась в обычное состояние?
Виндовый баг времен динозавров, передается из поколение в поколение.
Нажми кнопку, не отпуская мышку водим по экрану, кнопку визуально "отпустит" а потом верни курсор на кнопку и кнопку визуально "прижмёт". Ничем не лечится.
Цитата:
тоже думал так сделать, но не совсем нравится данных способ, других нету?
Фокус не может не существовать. Он либо есть здесь, либо у того чувака. Если фокуса не должно быть, значит его надо кому-то передать... ищите получателя. Либо просто передавайте фокус окну.
Человек_Борща вне форума Ответить с цитированием
Старый 27.11.2014, 17:21   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Perform(WM_NEXTDLGCTL, 0, 0)
FindNextControl
SelectNext
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Button Рассол Помощь студентам 8 14.03.2012 20:27
Как привязать компоненту TComboBox к Button, чтобы при нажатии Button, данные из ComboBox вводились в TstringGrid Marta_ Помощь студентам 2 15.10.2011 01:02
Button ex-hack Общие вопросы C/C++ 5 16.04.2010 23:50
submit button w/o name - вопрос по http post web surfer HTML и CSS 2 20.02.2007 04:10