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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2015, 12:03   #1
Primo13
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию Два события на одну кнопку

Приветствую уважаемые форумчане! Есть вопрос...

Имеется следующий код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
   inc(n);
Image1.Picture.LoadFromFile(IntToStr(n)+'.bmp');
if n=8 then n:=0;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if GetAsyncKeyState(17) <> 0 then button1.Click;
end;
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = 17 then button1.Click;
end;
 
end.
Как сделать, чтобы при нажатии на Button1, форма становилась видимой? То есть добавить второе событие на нее...

Изначально, форма скрыта функцией WindowState:=wsMinimized.

Заранее признателен за помощь!

Последний раз редактировалось Stilet; 25.08.2015 в 13:04.
Primo13 вне форума Ответить с цитированием
Старый 25.08.2015, 12:08   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Присвоить WindowState:=wsNormal;
FaTaL вне форума Ответить с цитированием
Старый 25.08.2015, 12:11   #3
Primo13
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Присвоить WindowState:=wsNormal;
Это понятно... А как это сделать именно на нажатие Button1?
Primo13 вне форума Ответить с цитированием
Старый 25.08.2015, 12:16   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Ну если у тебя форма свёрнута, то только развернув её.
FaTaL вне форума Ответить с цитированием
Старый 25.08.2015, 12:21   #5
Primo13
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Ну если у тебя форма свёрнута, то только развернув её.
О чем ты?! Где написано что она свернута? =) И причем тут вообще это? Задача ведь в другом... В код добавить процедуру на изменение функции WondowState, при нажатии на Button1. Проблема в том, что я не знаю как сделать два события на одну кнопку... При всем при этом, перехват тоже должен действовать.
Primo13 вне форума Ответить с цитированием
Старый 25.08.2015, 12:54   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Для начала надо сформулировать нормально что вы хотите.

Цитата:
Как сделать, чтобы при нажатии на Button1, форма становилась видимой?
Это бред потому что пользователь не нажмет кнопку на невидимой форме.

Цитата:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
... then button1.Click;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
... then button1.Click;
end;
Этот код надо выкинуть и сделать нормальные функции/процедуры. Кнопки нужны для нажатия пользователем, а не вызова их обработчиков из кода.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.08.2015, 15:06   #7
Primo13
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию

Бред, не бред, но мне нужно именно так... Изначально форма невидима, нужно сделать так, чтобы по нажатию на CTRL (17), который перехватывает нажатие Button1 (или наоборот) форма становилась видимой и показывала картинки по очереди...
Primo13 вне форума Ответить с цитированием
Старый 25.08.2015, 15:16   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да не нужно вам никакие кнопки нажимать, сделайте процедуры, для смены картинок и для показа формы, и вызывайте их где надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.08.2015, 15:20   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Или раз на то пошло используйте горячие клавиши.
FaTaL вне форума Ответить с цитированием
Старый 25.08.2015, 16:24   #10
Primo13
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию

Как сделать, чтобы при нажатии одной кнопки на форме, происходило 2 процедуры? Например: изменение названия формы и сворачивание формы...
Primo13 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
несколько обработчиков на одну кнопку trilenium JavaScript, Ajax 6 19.02.2015 23:21
а как завязать макрос на одну кнопку, Евгений_39 Microsoft Office Excel 3 07.09.2012 22:15
Два листа - два события, одновременность срабатывания двух макросов strannick Microsoft Office Excel 20 03.04.2012 16:49
Определить кнопку sender события. Casper-SC Общие вопросы .NET 4 26.03.2010 12:35
Несколько действий на одну кнопку include Общие вопросы Delphi 8 03.01.2010 20:05