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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 15:18   #1
Nesta23
 
Регистрация: 13.12.2009
Сообщений: 7
Сообщение Свойство Checked в RadioButton из GroupBox

Добрый день, уважаемые программисты.
У меня такая проблема. Я делаю тест. Вопрос написан в заголовке GroupBox а варианты ответа в виде 5 radioButton. Пока пользователь не выбрал какой-либо вариант ответа, кнопке далее стоит св-во невидима. (Это условие заказчика).
Вопрос: как сделать, чтобы при выборе ответа кнопка снова появлялась? А точнее на выполнение чего расположить процедуру появления кнопки. Я понимаю, что можно создать ее на каждую RadioButton, но это как-т не кошерно.
У меня есть предположение что надо использовать св-ва овнер и парент, но опять же я не знаю куда запихнуть такую процедуру.
Жду ваших предложений, заранее спасибо!

Последний раз редактировалось Nesta23; 22.05.2011 в 16:51.
Nesta23 вне форума Ответить с цитированием
Старый 22.05.2011, 19:13   #2
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

В событие RadioButton1Click первого RadioButton'a пишем: Button1.Visible := true;
И это событие присваиваем всем RadioButton'ам
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 22.05.2011, 19:54   #3
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

В событии OnEnter компонента GroupBox делаете кнопку видимой. Только если по умолчанию Checked какой-то RadioButton установлен в True, то кнопка будет видна сразу.
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
A-IX-2 вне форума Ответить с цитированием
Старый 23.05.2011, 00:17   #4
Nesta23
 
Регистрация: 13.12.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от VVM Посмотреть сообщение
В событие RadioButton1Click первого RadioButton'a пишем: Button1.Visible := true;
И это событие присваиваем всем RadioButton'ам
Я канешн извиняюсь, но первом сообщении отверг эту возможность. Читайте внимателеньнее.
Nesta23 вне форума Ответить с цитированием
Старый 23.05.2011, 00:23   #5
Nesta23
 
Регистрация: 13.12.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от A-IX-2 Посмотреть сообщение
В событии OnEnter компонента GroupBox делаете кнопку видимой. Только если по умолчанию Checked какой-то RadioButton установлен в True, то кнопка будет видна сразу.

procedure TForm1.GroupBox1Enter(Sender: TObject);
begin
If (RadioButton1.Checked =true) or (RadioButton2.Checked =true) or (RadioButton3.Checked =true)
or (RadioButton4.Checked =true) or(RadioButton5.Checked =true)
then
button1.Visible := true;
end;

Не работает.
Nesta23 вне форума Ответить с цитированием
Старый 23.05.2011, 01:26   #6
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

хз может условие не выполняетса? скиньте проект посмотрим..
Pein95 вне форума Ответить с цитированием
Старый 23.05.2011, 04:32   #7
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Nesta23 Посмотреть сообщение
А точнее на выполнение чего расположить процедуру появления кнопки.
на событие нажатия каждого радибатона (их же у вас всего 5), дальше уже идут извращения, например, создайте параллельный процесс (поток), который будет через некоторый промежуток времени отслеживать состояния радиобатонов.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 23.05.2011, 08:34   #8
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Код:
procedure TForm1.GroupBox1Enter(Sender: TObject);
begin
  Button1.Visible := true;
end;
Всё, больше ничего не надо туда лепить.
Хотя тут можно заставить кнопку появиться, если кликнуть левой над RadioButton и не отпуская кнопку мыши увести курсор в сторону. При этом Checked не становится True, а кнопка появляется. Так что больше ничего не могу посоветовать кроме того, что уже написано в предыдущем посте.
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"

Последний раз редактировалось A-IX-2; 23.05.2011 в 08:56.
A-IX-2 вне форума Ответить с цитированием
Старый 23.05.2011, 11:33   #9
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Цитата:
Сообщение от Nesta23 Посмотреть сообщение
Я канешн извиняюсь, но первом сообщении отверг эту возможность. Читайте внимателеньнее.
На мой взгляд, это самый оптимальный вариант. И, как заметил товарищ Sparkman: "...дальше уже идут извращения...".
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 23.05.2011, 11:45   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Если использовать RadioGroup:

Код:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
     if RadioGroup1.ItemIndex>-1 then button1.Visible:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     RadioGroup1.ItemIndex:=-1;
     Button1.Visible:=false;
end;
пс: на OnEnter не совсем корректно, потому как пользователь может ткнуть просто по RadioGroup, тем самым установив на нем фокус, но не попав по RadioButton. Установив проверку на OnEnter (ItemIndex>-1), кнопка не будет появляться до тех пор, пока пользователь не ткнет по радиобатону с другого контролла, а он (пользователь) может просто установить фокус на RadioGroup и дальше тыкать RadioButton'ы.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получит номер RadioButton выбраного в GroupBox sergey113 Помощь студентам 0 24.03.2011 17:37
Правильно определить знак перед строкой и в зависимости от этого выставить checked свойство Человек_Борща Общие вопросы Delphi 9 18.02.2011 01:11
Ranged checked error agarum Общие вопросы Delphi 6 19.09.2010 23:34
CheckListBox checked iz zarosa marisham0612 Общие вопросы Delphi 1 18.12.2009 00:56
[VC#] DataGridView - DataGridViewCheckBoxColumn - Checked MuForum Общие вопросы .NET 0 07.06.2008 00:57