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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 17:23   #1
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию PageControl

Здравствуйте, у меня такой вопрос:
У меня в PageControl-е 3 вкладки, на которых расположены по 2 радиокнопки (Radiobutton), в сумме 6 радиокнопок.
Чтобы выполнить действие есть обычная кнопка:

procedure TForm1.Button1Click(Sender: TObject);
begin
if radiobutton1.Checked=true then
memo1.Lines.Add('s1k1') ;
if radiobutton2.Checked=true then
memo1.Lines.Add('s1k2') ;
if radiobutton3.Checked=true then
memo1.Lines.Add('s2k3') ;
if radiobutton4.Checked=true then
memo1.Lines.Add('s2k4') ;
if radiobutton5.Checked=true then
memo1.Lines.Add('s3k5') ;
if radiobutton6.Checked=true then
memo1.Lines.Add('s3k6') ;
end;


В итоге в мемо вывоится след текст:

s1k1
s1k2
s1k2
s2k3
s1k2
s2k4
s1k2
s2k4
s3k5
s1k2
s2k4
s3k6

А мне нужно, чтобы выводился такой текст:
s1k1
s1k2
s2k3
s2k4
s3k5
s3k6

Т.е. я не могу понять как сделать так, чтобы при переходе из одной вкладки в другую, радиокнопки из предыдущей вкладки не оставляли следов в действиях в след вкладке...

Помогите, пожалуйста!
Китти вне форума Ответить с цитированием
Старый 22.05.2011, 17:32   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Речь идёт о очистке Мемо?

Код:
Memo1.Clear;
Или что?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 22.05.2011, 17:37   #3
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

Нет, речь идет о том, как можно убрать выделение с радиокнопки с предыдущей страницы:

1 страница (Tabsheet1)
s1k1
s1k2
2 страница (Tabsheet2)
s1k2 - это лишнее (идет за счет выделенной радикн2 на 1 стр-це)
s2k3
s1k2 - это лишнее (идет за счет выделенной радикн2 на 1 стр-це)
s2k4
3 страница (Tabsheet3)
s1k2 - это лишнее (идет за счет выделенной радикн2 на 1 стр-це)
s2k4 - это лишнее (идет за счет выделенной радикн4 на 2 стр-це)
s3k5
s1k2 - это лишнее (идет за счет выделенной радикн2 на 1 стр-це)
s2k4 - это лишнее (идет за счет выделенной радикн4 на 2 стр-це)
s3k6
Китти вне форума Ответить с цитированием
Старый 22.05.2011, 17:52   #4
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Тоесть нужно обрабатывать только радиобутоны на активной вкладке?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 22.05.2011, 17:56   #5
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Тоесть нужно обрабатывать только радиобутоны на активной вкладке?
Да, там надо воспользоваться каким то из свойств, только не пойму каким...
Китти вне форума Ответить с цитированием
Старый 22.05.2011, 17:59   #6
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Китти Посмотреть сообщение
Да, там надо воспользоваться каким то из свойств, только не пойму каким...
Элементу на неактивной вкладке нельзя передать фокус.
.CanFocus - попытка передать компоненту фокус, в случае ошибке вернёт False.

Тобишь:

Код:
If (RadioButton1.Checked) And (RadioButton1.CanFocus) Then ...
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 22.05.2011, 18:04   #7
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

Спасибо большое! всё работает так, как надо...=)
Китти вне форума Ответить с цитированием
Старый 25.05.2011, 08:22   #8
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

зачем такие экстремизмы )) ?

достаточно:

Код:
if radiobutton1.checked then
  begin
  memo.liones.add('то _что_надо');
  exit;  // засчет этого все остальные условия не будут выполнены
  end;
// ну и для всех баттонов такое расписать
UPD а нет.. извиняюсь.. не совсем верно интерпретировал вопрос
тогда могу ещё предложить разделение такое:
Код:
if pagecontrol1.tabindex = 1
  then begin
  // сюда все проверки батонов относящихся к 1 закладке
  end;
// и для всех табиндексов также

Последний раз редактировалось phomm; 25.05.2011 в 08:26.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pagecontrol San4o Помощь студентам 1 08.09.2009 11:35
PageControl LIEN Общие вопросы Delphi 2 25.05.2009 13:20
PageControl Volt Общие вопросы Delphi 3 07.04.2009 19:19
PageControl chingiz Компоненты Delphi 14 22.11.2008 10:49