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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2016, 19:52   #1
phpmullin
Пользователь
 
Регистрация: 03.06.2016
Сообщений: 10
По умолчанию Динамическое создание popum menu c radioitem

Код:
while BASS_GetDeviceInfo(I, ADeviceInfo) do
begin
It2:=TMenuItem.Create(self);
it2.Caption:=ADeviceInfo.name;
It2.OnClick := ClickSound;
It2.RadioItem := true; // не создается этот параметр
It2.Tag:=i-1;
MainMenu1.SoundDefault.Items.add(it2);
it2:=nil;
i := i + 1;
end;
Создаю меню динамически. запускаю все кулл, но не создается радиобаттон на кнопках. Что не так? Спасибо за советы!
phpmullin вне форума Ответить с цитированием
Старый 07.06.2016, 22:00   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

GroupIndex? Вот кусок моего кода (рабочий):
Код:
mi:= FSystemMenu.CreateMenuItem();
                 smi.Caption:= si.Name;
                 smi.Hint:= files[idx];
                 smi.RadioItem:= true;
                 smi.GroupIndex:= 1;

                 if added mod 16 = 15
                   then smi.Break:= mbBarBreak;

                 smi.Tag:= idx + 1;
                 smi.OnClick:= SkinMenuClick;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.06.2016, 01:35   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
GroupIndex?
+1
Именно. Радиокнопки работают только тогда, когда их более одной. А поскольку на форме может быть много разных радиокнопок, и которые относятся к разным функциям программы, то их нужно выделять в группы.
northener вне форума Ответить с цитированием
Старый 08.06.2016, 08:18   #4
phpmullin
Пользователь
 
Регистрация: 03.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
GroupIndex? Вот кусок моего кода (рабочий):
Код:
mi:= FSystemMenu.CreateMenuItem();
                 smi.Caption:= si.Name;
                 smi.Hint:= files[idx];
                 smi.RadioItem:= true;
                 smi.GroupIndex:= 1;

                 if added mod 16 = 15
                   then smi.Break:= mbBarBreak;

                 smi.Tag:= idx + 1;
                 smi.OnClick:= SkinMenuClick;
Понимаю принцип, спасибо за пример, НО вот код:
Код:
while BASS_GetDeviceInfo(I, ADeviceInfo) do
  begin
      It2:=TMenuItem.Create(self);
      it2.Caption:=ADeviceInfo.name;
      It2.OnClick := SoundDef;
      It2.RadioItem:=true;
      It2.GroupIndex:=1;
      It2.Tag:=I-1;
      MainMenu1.soundDefault.Items.add(it2);
      it2:=nil;
    i := i + 1;
  end;
Я читал про гроупиндекс ставил 1, не выходит. Проверил по клику через Label.caption:=(Sender as TMenuItem).GroupIndex;
Выводит у всех 1. Что еще можете посоветовать?
phpmullin вне форума Ответить с цитированием
Старый 08.06.2016, 08:23   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Что еще можете посоветовать?
Накидай за 3 минуты тестовый прожэкт и выклади сюда исходник. Будем посмотреть.
В чудеса я не верю (хотя сам волшебник). Но у меня-то работает! ЧЯДНТ?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.06.2016, 08:54   #6
phpmullin
Пользователь
 
Регистрация: 03.06.2016
Сообщений: 10
По умолчанию

Embarcadero SE10, win7 x64
Вложения
Тип файла: rar popupMenu.rar (51.0 Кб, 13 просмотров)
phpmullin вне форума Ответить с цитированием
Старый 08.06.2016, 10:11   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Зачем это в OnPopup?
Код:
while Form1.PopupMenu1.Items.Count>0 do
    Form1.PopupMenu1.Items.Items[0].Free;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.06.2016, 10:19   #8
phpmullin
Пользователь
 
Регистрация: 03.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Зачем это в OnPopup?
Код:
while Form1.PopupMenu1.Items.Count>0 do
    Form1.PopupMenu1.Items.Items[0].Free;
Блин.... и вправду.. яж сначала чищу все, а потом заново записываю. Естественно у меня не будет выделенного элемента. Мнда.... Спасибо) Теперь думаю как при открытии popup перерисовывалось все...
Потому что при повторном открытии popup у меня создаются копии...

Последний раз редактировалось phpmullin; 08.06.2016 в 10:34.
phpmullin вне форума Ответить с цитированием
Старый 08.06.2016, 10:22   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Потому что при открытии popup у меня создаются копии...
Какие копии? Чего копии?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.06.2016, 10:26   #10
phpmullin
Пользователь
 
Регистрация: 03.06.2016
Сообщений: 10
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Какие копии? Чего копии?
Обновил запись выше(добавил изображение).
phpmullin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание romanzi Общие вопросы Delphi 1 24.08.2011 12:20
Динамическое создание ActionMainMenuBar Paul Hindenburg Общие вопросы Delphi 4 12.11.2009 12:07
MainMenu, RadioItem не видны метки Alter Компоненты Delphi 3 22.07.2009 14:03
List/MENU или Jump Menu с mysql vanDJ PHP 0 09.02.2009 11:19
Динамическое создание фрейма s-force Общие вопросы Delphi 9 05.09.2007 16:56