Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Меня этот Popup Добьет   Найти похожие ветки 

 
AndrewVolkov   (2003-07-07 21:17) [0]

Только разберешься с одним, возникает трабла с другим.


pmItemList := TMenuItem.Create(Self);
pmItemList.Caption :=sCaption;
pmItemList.Checked:=True;
PMPeople.Items.Add(pmItemList);
i:=pmPeople.Items.IndexOf(pmItemList);

pmItemList:=TMenuItem.Create(Self);
pmItemList.Caption:="Select";
pmItemList.OnClick:=aChoiceExecute;
pmPeople.Items[i].Add(pmItemList);
pmItemList:=TMenuItem.Create(Self);
pmItemList.Caption:="Unselect";
pmPeople.Items[i].Add(pmItemList);


procedure TfmMain.aChoiceExecute(Sender: TObject);
Var i:integer;
begin
if pmPeople.Items[(Sender as TMenuItem).MenuIndex].Caption="Select" then begin

end;
end;


Трабла в том, что (Sender as TMenuItem).MenuIndex для всех SubMenu=0, даже если я pmItemList.menuIndex:=10 к примеру он все равно будет 0. Можно ли как-нибудь в Sender узнать MenuIndex???


 
Spawn   (2003-07-07 21:40) [1]

Я вот так проверил индексы итемов:

procedure TForm1.dfhdfh1Click(Sender: TObject);
begin
if (Sender as TMenuItem).Count=0 then
ShowMessage(IntToStr((Sender as TMenuItem).MenuIndex));
end;


И все они были нормальными. Как и у простых итемов, так и у Субитемов. Кстати ты уверен, что текст в итеме равен "Select"? Если ты не отключил одно свойство(не помню какое), то менюха автоматически генерит хоткей и изменяет капшены(только этого не видно при редактировании компонента)


 
AndrewVolkov   (2003-07-07 21:43) [2]

Не знал про хоткей, написал процедуру, которая мочила эти добавления. Так что Селект - действительно - селект.


 
Spawn   (2003-07-07 21:43) [3]

Во посмотрел. Свойство AutoHotKeys попробуй поставить в maManual. Я попробовал создать такой Caption у меня и AutoHotKeys поменяла его на &Select ))))


 
AndrewVolkov   (2003-07-07 21:45) [4]

Проверил твой код - показывает 0 и все тут


 
AndrewVolkov   (2003-07-07 21:49) [5]

Даже если они не в рантайме созданы - у них 0 MenuIndex


 
Spawn   (2003-07-07 21:52) [6]

Если у тебя первый субитем, то и должен 0 показываться))
Зачем так мучаться пиши вот так:

if (Sender as TMenuItem).Caption="Select" then



Только не забудб поставить AutoHotKeys в maManual


 
AndrewVolkov   (2003-07-07 21:55) [7]

Трабла в том, что у меня может быть больше одного Селекта.
Да блин,
Если у тебя первый субитем, то и должен 0 показываться))
а как я их тогда различать могу? у меня ж тогда куча 0 будет ???

Я могу как-то узнать индексы их родителей?


 
Spawn   (2003-07-07 21:57) [8]

Sender as TMenuItem).Parent.MenuIndex Но эти индексы для каждого подменю будут идти с 0


 
Spawn   (2003-07-07 21:59) [9]

Ты можешь хранить какое-либо уникальное значение в свойтсе Tag MenuItem-а. И при клике на итем сверяться с ним.


 
AndrewVolkov   (2003-07-07 22:01) [10]

Спасибо :)))
Еще немного и я их добью.
А я их точно добью, гадов.


 
AndrewVolkov   (2003-07-07 22:03) [11]

С тагами, помойму не очень удобно для меня будет. Потому что значения генеряться по правилу и мне легче привязаться используя МенюИндексы - теперь то я знаю как их получить.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
14-67988
Balkon
2003-07-03 11:05
2003.07.21
Вопрос по локализации приложений...


1-67798
jiura1
2003-07-09 13:23
2003.07.21
Как корректно скопировать русский шрифт из Stringgrid в Буфер?


14-68035
Makhanev A.S.
2003-07-03 05:37
2003.07.21
Сидеть по ночам: ДА или НЕТ?


3-67685
bushmen
2003-06-26 16:22
2003.07.21
XML


14-68051
Soft
2003-07-04 17:55
2003.07.21
Давайте мерятся графическими редакторами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский