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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2013, 19:57   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос Создание меню

Доброе время суток!
Подскажите пожалуйста что не так.
Код:
procedure TForm1.PopupMenuActivate;
var
  newItem: TMenuItem;
  ini: TIniFile;
  n:integer;
begin
PopupMenu1.AutoHotkeys:=maManual;
newItem:=TMenuItem.Create(PopupMenu1);
  ini := TIniFile.Create(extractfilepath(Application.ExeName)+'FilesProgram\ParametersForm.prm');
  begin
       for n := 1 to ini.ReadInteger('[MenuParam]', 'Amount', 0) do
       begin
       newItem.Caption:=ini.ReadString('Menu' + Format('%.3d', [n]), 'MenuName', '');
       newItem.OnClick:=MyMenuClick;
       PopupMenu1.Items.Add(newItem)
  end;
 end;
end;
в ини файле пишу так:
Код:
[MenuParam]
Amount=003
[Menu001]
MenuName=Menu1
[Menu002]
MenuName=Menu2
[Menu003]
MenuName=Menu3
Но меню не хочет создаваться(
Что я не то делаю?
Заранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 12.07.2013 в 20:04.
Volkogriz вне форума Ответить с цитированием
Старый 12.07.2013, 20:08   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

создается лишь один пункт?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.07.2013, 20:09   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Вообще не пунктика(((
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 12.07.2013, 20:17   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А откуда знаешь, что ни одного? Попуп чем-то активизируется? А вообще каждый вставляемый TMenuItem нужно отдельно создавать, а не один для трех пунктов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.07.2013, 20:22   #5
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

да активизируется!
Код:
procedure TForm1.sSpeedButton4Click(Sender: TObject);
begin
popupMenu1.Popup(sSpeedButton3.Left*Form1.Left,sSpeedButton3.Top*Form1.Top);
end;
Создаётся при создании формы.
Цитата:
А вообще каждый вставляемый TMenuItem нужно отдельно создавать, а не один для трех пунктов
Немного не понял, можно пояснить?
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 12.07.2013, 20:26   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=0 to 5 do begin
  newItem:=TMenuItem.Create(Self);
  newItem.Caption:='Тра-ля-ля';
  newItem.OnClick:=MyMenuClick;
  PopupMenu1.Items.Add(newItem)
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.07.2013, 20:30   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Понял)))!
ща исправлю посмотрю
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 12.07.2013, 20:44   #8
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Просто не дагоню как из положения выйти
Код:
	
 for n := 1 to newini.ReadInteger('[MenuParam]', 'Amount', 0) do
       begin
       newItem:=TMenuItem.Create(PopupMenu1);
       newItem.Caption:=newini.ReadString('Menu' + Format('%.3d', [n]), 'MenuName', '');
       newItem.OnClick:=MyMenuClick;
       PopupMenu1.Items.Add(newItem)
Может о чём то не о том мысли, но не выходит нечего(
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 12.07.2013, 20:46   #9
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Интересно и зачем вы его сам рисуете? Если он ресуется при клике ПКМ автоматом(по умолчанию). У компонента есть свойство Menu, то есть то, что вам нужно создать самим. Дополняйте его. Если хотите создать разное меню(например, на разные компоненты), то дополнительные TPopupMenu и свойство PopupMenu в помощь.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 12.07.2013, 20:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но не выходит нечего(
Пошаговку конечно же не делал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание меню mirabola HTML и CSS 3 02.10.2012 22:30
Создание меню WorldMaster C# (си шарп) 4 14.04.2012 15:55
Создание Меню Vinokurovpavel Microsoft Office Excel 1 02.03.2010 19:50
Создание меню Elfix Microsoft Office Excel 8 20.10.2009 18:26
Создание меню на С KsandR Общие вопросы C/C++ 5 13.12.2007 21:34