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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2015, 14:13   #1
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию проверить если кнопка нажата на другой форме

Всем здравствуйте, возник вопрос. Хотелось бы проверить если кнопка нажата на другой форме. Знаю ответ возможно легкий, но я в этом новичок . Пыталась что то вроде этого:
Код:
if Form2.button.click = true then 
begin
function...
end;
но тут выскакивает ошибка. Очень нужна ваша помощь
igelchen вне форума Ответить с цитированием
Старый 09.09.2015, 14:22   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

создай переменную-поле Х внутри Form2
присвой ей false
создай обработчик OnClick и пропиши X := true;
проверяй Х, если он true, то кнопка была единожды когда-то нажата

P. s. сама задача не корректна, не должно быть нужно узнавать было ли нажатие или нет....
GreenWizard вне форума Ответить с цитированием
Старый 09.09.2015, 14:35   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А как это может быть?
Обычная кнопка Button - без фиксации. Она может быть нажата только при активной той, другой формы Form2.
А вам вроде как нужно проверять, когда активна основная форма Form1.

Как вам написал GreenWizard - проверяется , была ли она нажата когда-то. Потому что сейчас она точно не нажата.

Или используйте кнопку с фиксацией SpeedButton, они могут оставаться нажатыми.
type_Oleg вне форума Ответить с цитированием
Старый 09.09.2015, 15:12   #4
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
создай переменную-поле Х внутри Form2
присвой ей false
создай обработчик OnClick и пропиши X := true;
проверяй Х, если он true, то кнопка была единожды когда-то нажата

P. s. сама задача не корректна, не должно быть нужно узнавать было ли нажатие или нет....


дело в том что хотелось бы чтобы при нажатии на кнопку 1 на форме А выскакивает форма Б со всеми функциями, а при нажатии на кнопку 2 выскакивает так же форма Б но с ограниченными функциями, например скрыты пару strgrid's или memo's. Так вот я думала на форме Б проверять нажата ли кнопка и например на методе OnFormShow, при нажатии определенной кнопке на форме А скрывать ненужные функции на форме Б...
igelchen вне форума Ответить с цитированием
Старый 09.09.2015, 15:21   #5
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

добавь в класс формы В методы showFull и showLimited, них настраивай что видно на форме, а что нет, потом уже делай обычный показ формы В
ну и, естественно, в кнопке 1 вызывай showFull, 2 - showLimited

P.s. это лишь один из вариантов адекватного решения
GreenWizard вне форума Ответить с цитированием
Старый 09.09.2015, 15:29   #6
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
добавь в класс формы В методы showFull и showLimited, них настраивай что видно на форме, а что нет, потом уже делай обычный показ формы В
ну и, естественно, в кнопке 1 вызывай showFull, 2 - showLimited

P.s. это лишь один из вариантов адекватного решения

а где можно найти эти методы?
igelchen вне форума Ответить с цитированием
Старый 09.09.2015, 15:31   #7
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

О методах: http://citforum.ru/programming/32less/les17.shtml
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 09.09.2015, 15:35   #8
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Цитата:
Сообщение от igelchen Посмотреть сообщение
а где можно найти эти методы?
их нужно создать) внутри TForm2, в секции public, пишешь "procedure Имя;", жмёшь ctrl+shift+c и оно появляется) и уже внутри описывай всё что скрывать\показывать
GreenWizard вне форума Ответить с цитированием
Старый 09.09.2015, 16:06   #9
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
их нужно создать) внутри TForm2, в секции public, пишешь "procedure Имя;", жмёшь ctrl+shift+c и оно появляется) и уже внутри описывай всё что скрывать\показывать
все сделала как вы и подсказали. Скажите как можно вызвать эту процедуру с другого модуля? Пыталась вписать в OnClick, Form2.showLimited, но видать я ее не правильно вызываю
igelchen вне форума Ответить с цитированием
Старый 09.09.2015, 16:11   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от igelchen Посмотреть сообщение
все сделала как вы и подсказали. Скажите как можно вызвать эту процедуру с другого модуля? Пыталась вписать в OnClick, Form2.showLimited, но видать я ее не правильно вызываю
Значит что-то сделала не так как подсказали.
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ROBOKASSA. Как произвести действия после оплаты, если не была нажата кнопка "Вернуться в магазин"? Mr_freeman PHP 0 14.12.2012 14:11
Как узнать нажата ли кнопка? Ragnarek45 Общие вопросы Delphi 11 07.12.2010 14:53
Как узнать была ли нажата кнопка? SanSanblch Win Api 3 20.12.2009 01:15
Как определить когда нажата кнопка мыши, если она нажата в совсем другой программе? Iceman Общие вопросы Delphi 2 19.10.2009 19:03
нажата ли кнопка мыши? VDLab Общие вопросы Delphi 2 15.11.2006 00:59