Проверить если кнопка нажата на другой форме

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Проверить если кнопка нажата на другой форме

Сообщение jenny » 09.09.2015 14:16:23

Всем здравствуйте, возник вопрос. Хотелось бы проверить если кнопка нажата на другой форме. Знаю ответ возможно легкий, но я в этом новичок :). Пыталась что то вроде этого:
Код: Выделить всё
if Form2.button.click = true then
begin
function...
end;


но тут выскакивает ошибка. Очень нужна ваша помощь :(
jenny
новенький
 
Сообщения: 59
Зарегистрирован: 25.05.2015 22:45:27

Re: Проверить если кнопка нажата на другой форме

Сообщение serg_iv » 09.09.2015 15:46:41

а почему не ловите событие от той кнопки, которая на другой форме?
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Проверить если кнопка нажата на другой форме

Сообщение jenny » 09.09.2015 16:09:27

дело в том что при нажатии на кнопку 1 на форме А выскакивает форма Б со всеми функциями, при нажатии на кнопку 2 выскакивает так же форма Б но с ограниченными функциями, например скрыты пару strgrid's или memo's. Так вот я думала на форме Б проверять нажата ли кнопка и например на методе OnFormShow, при нажатии определенной кнопке на форме А скрывать ненужные функции...
jenny
новенький
 
Сообщения: 59
Зарегистрирован: 25.05.2015 22:45:27

Re: Проверить если кнопка нажата на другой форме

Сообщение Лекс Айрин » 09.09.2015 17:02:49

jenny, имхо, слишком запутанно. Проще, просто в обработчике кнопок предусмотреть сокрытие/отображение нужных компонент. Если неохота чтобы это видели пользователи, то запускайте форму скрытой, а после окончания подготовительной работы отображайте.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Проверить если кнопка нажата на другой форме

Сообщение wavebvg » 10.09.2015 01:11:26

Ну в Lazarus-е есть цикл обработки сообщений. Можно перехватить все сообщения приложения, только для этого придется дописывать текущую реализацию виджетов или писать грубый хак для DeliverMessage. Можно переопределить WndProc, к примеру. Все это просто, но некрасиво.
Лучше завести состояния у диалога с настройками и выставлять состояния перед показом формы.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Проверить если кнопка нажата на другой форме

Сообщение Снег Север » 10.09.2015 07:42:20

jenny писал(а):дело в том что при нажатии на кнопку 1 на форме А выскакивает форма Б со всеми функциями, при нажатии на кнопку 2 выскакивает так же форма Б но с ограниченными функциями, например скрыты пару strgrid's или memo's. Так вот я думала на форме Б проверять нажата ли кнопка и например на методе OnFormShow, при нажатии определенной кнопке на форме А скрывать ненужные функции...
В профессионально сделанных программах реализуют именно так, как написал выше Лекс Айрин - в вызывающем модуле, по нажатию кнопки, показывают или скрывают компоненты на вызываемой форме. Напрямую, или вызовом соответствующей функции из вызываемого модуля перед показом его формы.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

Рейтинг@Mail.ru