Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с радиобатонами! 
:(
    Опции темы
newbie39
Дата 22.12.2005, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.12.2005

Репутация: нет
Всего: нет



четыре радиобатона в GroupBox
как установить Checked нужный

вот такая херь
TagsAudioForm->RadioButton4->Checked=true;
срабатывает только первый раз
при следующих отрисовках формы чекнут тот радиобатон который выбрал пользователь
а не тот который я принудительно устанавливаю.

пробовал передэтим все радиобатоны установить в false - тоже самое

может когда они в GroupBox к ним подругому нужно обращаться?
PM MAIL   Вверх
_hunter
Дата 22.12.2005, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



при каких при следующих? и в чем проблема? -- ты один раз устанавливаеш а хочеш чтобы постоянно был баттон выбран?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
newbie39
Дата 22.12.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.12.2005

Репутация: нет
Всего: нет



привет : ))
это predator

это как пример
короче не инециализируются радиобатоны
конечно у меня всё инициализируется с учётом пользовательского выбора
но выбор запоминается, а инициализация не проходит

у меня одна форма показывается при клике по разным итемам на другой
и в начале инициализируется из вектора разнообразными значениями

так вот для radiobutton ов не работает

может надо так?

TagsAudioForm->GroupBox2->RadioButton5->Checked=true;
только что попробовал - не компилит
пишет что эта кнопка не мембер группы
PM MAIL   Вверх
Neitron
Дата 22.12.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



Слушая, для начала лучше заюзай RadioGroup...


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
newbie39
Дата 22.12.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.12.2005

Репутация: нет
Всего: нет



зачем RadioGroup?

у меня там ещё несколько элементов в группе которые активируются если кликнули по нужному радиобатону

разве таке нельзя сделать если радиобатоны в групбоксе?
PM MAIL   Вверх
Neitron
Дата 22.12.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



newbie39
Тогда ладно. Можно так делать. Но лично я так и не понел в чем у тебя проблема.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
newbie39
Дата 22.12.2005, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.12.2005

Репутация: нет
Всего: нет



короче проблема в том что неинициализируются радиобатоны при отрисовке формы
вот так инициализирую
if ( fileInfo[filename].privacy2==0 ) {
TagsAudioForm->RadioButton1->Checked=true;
} else if ( fileInfo[filename].privacy2==3 ) {
TagsAudioForm->RadioButton2->Checked=true;
TagsAudioForm->ComboBox5->Enabled=true;
} else if ( fileInfo[filename].privacy2==10 ) {
TagsAudioForm->RadioButton3->Checked=true;
TagsAudioForm->CheckListBox4->Enabled=true;
} else if ( fileInfo[filename].privacy2==1 ) {
TagsAudioForm->RadioButton4->Checked=true;
}

вот так обрабатываю по клику на OK
if (TagsAudioForm->ShowModal() == mrOk) {
fileInfo[filename].privacy2=0;
if ( TagsAudioForm->RadioButton1->Checked ) {
fileInfo[filename].privacy2=0;
} else if ( TagsAudioForm->RadioButton2->Checked ) {
fileInfo[filename].privacy2=3;
fileInfo[filename].net2=TagsAudioForm->ComboBox5->ItemIndex;
} else if ( TagsAudioForm->RadioButton3->Checked ) {
fileInfo[filename].privacy2=10;
fileInfo[filename].sqcats1.clear();
for (int i = 0; i < TagsAudioForm->CheckListBox4->Items->Count; i++) {
if ( TagsAudioForm->CheckListBox4->Checked[i] == true ) {
fileInfo[filename].sqcats1.push_back(fileInfo[filename].sqcats_buf1[i]);
}
}
} else if ( TagsAudioForm->RadioButton4->Checked ) {
fileInfo[filename].privacy2=1;
}

тут много лишнего но идея понятна, я думаю

так вот тут fileInfo[filename].privacy2 всё нормально сохраняется
но при следёющем открытии формы не инициализируется

даже если написать без условий
например TagsAudioForm->RadioButton4->Checked=true;

что делать? никто не знает : ((
PM MAIL   Вверх
newbie39
Дата 23.12.2005, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 22.12.2005

Репутация: нет
Всего: нет



научился дебагить : )
но всёравно немогу понять почему?

TagsAudioForm->RadioButton1->Checked=true; // эта кнопка выбрана
TagsAudioForm->RadioButton2->Checked=false; // эта нет
if (TagsAudioForm->ShowModal() == mrOk) { // тут форма отрисовалась и ждёт действий от пользователя

но на ней активна RadioButton2 !!!
кто может объяснить почему такое может быть?

PM MAIL   Вверх
_hunter
Дата 23.12.2005, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



это у борланда глюк:
http://support.borland.com/thread.jspa?messageID=5039
решение простое -- перед показом создавать форму заново


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Vyacheslav
Дата 26.12.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Ищи ошибку в другом месте. Вот элементарные код, который работает
Код

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    RadioButton3->Checked = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    RadioButton1->Checked  = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    RadioButton2->Checked  = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
       RadioButton3->Checked  = true;
}
//---------------------------------------------------------------------------



Добавлено @ 19:12
Кстати и так тоже работает
Код

void __fastcall TForm1::Button4Click(TObject *Sender)
{
    Form2->RadioButton2->Checked = true;
    Form2->ShowModal();
}
//---------------------------------------------------------------------------


Добавлено @ 19:14
В событие OnShow какой-нибудь обработчик не добавил случаем, который RadioButton'ы переставляет?


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
_hunter
Дата 26.12.2005, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



так первый код на своей же форме баттоны меняет.
а во втором после показа Form2 выбери Form2->RadioButton1, закрой форму и опять нажми на TForm1::Button4


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Neitron
Дата 27.12.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



Даа.................. чудеса на виражах.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.