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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 07:32   #1
Cannibal
Форумчанин
 
Регистрация: 17.02.2008
Сообщений: 191
По умолчанию Узнать, Нажатие какой кнопни вызвало форму.

Есть форма (1), которая в зависимости от того, нажатие какой кнопки на другой форме(2) вызвало ее show.

Вопрос: как в форме (1) узнать какая кнопка в форме (2) была нажата?
Mathematicians often mix up Christmas and Halloween, because Dec.25=Oct.31.
Cannibal вне форума Ответить с цитированием
Старый 10.12.2011, 09:41   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
как в форме (1) узнать какая кнопка в форме (2) была нажата
Зачем это надо? Спрашиваю, потому что вопрос напоминает вот это.
Очевидный ответ. Сообщить ей (форме) об этом в момент вызова (Show). Можно до показа, а можно и после (вызов-то не модельный). Способ реализации сообщения можно зависит от ответа на первый вопрос.
Обычно форме без разницы КТО ее вызвал, ей важно ЧТО ее попросили сделать.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 10.12.2011 в 09:45.
evg_m вне форума Ответить с цитированием
Старый 10.12.2011, 09:44   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Цитата:
Сообщение от Cannibal Посмотреть сообщение
Есть форма (1), которая в зависимости от того, нажатие какой кнопки на другой форме(2) вызвало ее show.

Вопрос: как в форме (1) узнать какая кнопка в форме (2) была нажата?
При нажатии на кнопку 2 по мимо основных действий передавай в глобальную переменную идентификатор нажатой кнопки
Код:
begin
..... некий код
btn := 2; // 2 - соответствует номеру нажатой кнопки
end;
а затем в form1 проверяй какое значении переменой btn
Код:
//или через 
if ... then ...else
//но лучше через  
case ...of
Noor вне форума Ответить с цитированием
Старый 10.12.2011, 09:58   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
При нажатии на кнопку 2 по мимо основных действий передавай в глобальную переменную идентификатор нажатой кнопки
только вместо глобальной переменной, лучше использовать открытую(public) переменную класса(формы). а еще лучше использовать свойства и методы. Но ...
Цитата:
Способ реализации сообщения зависит от ответа на первый вопрос.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 10.12.2011, 10:16   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Цитата:
Сообщение от Cannibal Посмотреть сообщение
Есть форма (1), которая в зависимости от того, нажатие какой кнопки на другой форме(2) вызвало ее show.
Предложение не согласовано.
Цитата:
Сообщение от Cannibal Посмотреть сообщение
Вопрос: как в форме (1) узнать какая кнопка в форме (2) была нажата?
1.Использовать механизм ModalResult или руками или вызывая форму2 модально.
2. описать для каждой кнопки вызов какой-то одной из процедур формы1, например, описать 2 процедуры show1 и show2 в первой форме, в их теле вызывать self.show и ещё то, что Вам надо в зависимости от кнопки. Yа форме 2 обработчик кнопки1 вызывает form1.show1 а обработчик кнопки2 вызывает form1.show2.
3. использовать идентификаторы , как предложили ранее, можно для этих целей использовать свойство Tag кнопки.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать количество символов введенных в форму JQuery gunsoy JavaScript, Ajax 1 18.10.2011 06:52
как узнать произошло ли нажатие на кнопку в чужом окне(приложении) Dim969 Общие вопросы C/C++ 1 18.12.2010 15:05
Узнать какой сегодня год Даниил_глазко Помощь студентам 6 14.11.2010 16:09
Узнать какой запрос... HTL Софт 7 24.07.2009 13:35
Какой нужно написать код,чтобы свернуть форму Bigtyoma Общие вопросы Delphi 2 08.09.2008 23:22