Вниз
Скачать: CL | DM;

Обращение к TMenuItem   Найти похожие ветки 

← →
Wood   (2004-11-07 11:48) [0]

Пожалуйста, помогите.
Создаю в run time пункты меню, присваиваю NMenu.name:="nm0". Во время выполнения программы пытаюсь найти (обратиться) к новому пункту меню: if TmenuItem(FindComponent("nm0"))<> nil. А он все равно равен nil.В чем ошибка?
Спасибо.


← →
Palladin ©   (2004-11-07 12:37) [1]

а почему он не должен быть равен nil?


← →
Wood   (2004-11-07 12:46) [2]

>Palladin [1]
Если компонент TMenuItem создан и у него есть имя (name), то почему он nil? Ведь он существует! Вопрос был "в чем ошибка?"


← →
Palladin ©   (2004-11-07 12:49) [3]

где он существует?


← →
Anatoly Podgoretsky ©   (2004-11-07 13:04) [4]

В том контейнере он не существует


← →
Wood   (2004-11-07 13:13) [5]

Вы говорите загадками. Объясните, пожалуйста


← →
Palladin ©   (2004-11-07 13:16) [6]

Я повторяю вопрос. Где он, по твоему мнению, существует?


← →
Wood   (2004-11-07 13:16) [7]

Все же, как правильно сделать?
В моем коде такие строки:
procedure....
var NewItem: TMenuItem;
begin
NewItem:=TMenuItem.create(self);
NewItem.name:="nm0";
NewItem.Caption:="New";
end;
Где и как создан этот пункт меню, что я не могу его найти функцией FindComponent(name)?


← →
Wood   (2004-11-07 13:19) [8]

Забыл дописать к процедуре создания
Open1.add(NewItem); //(добавляется в пункт главного меню)
Затем FindComponent() или Open1.FindComponent(name) - получается NIL


← →
Anatoly Podgoretsky ©   (2004-11-07 13:48) [9]

Какое то загадочное Open1


← →
Wood   (2004-11-07 14:03) [10]

Open1 - пункт главного меню, куда добавляется новый Item. Что тут загадочного. Лучше объясните, что не так?


← →
Wood   (2004-11-07 14:23) [11]

Open1 - идентификатор пункта главного меню


← →
Wood   (2004-11-07 14:52) [12]

Удалено модератором


← →
Defunct ©   (2004-11-07 17:33) [13]

> Wood

вот вам примерчик, изучайте:

procedure TForm1.Button1Click(Sender: TObject);
var M : TMenuItem;
   ComponentName : String;
begin

 M := TMenuItem.Create( Self );
 with M do
 Try
   ComponentName := "menu"+IntToStr( MenuIdx );
   Name := ComponentName;
   Caption := Name;
   Inc(MenuIdx);
   try
     TMenuItem( Self.FindComponent("mFile") ).Add( M );
   except
     ShowMessage("there is no component with mFile name");
   end;
   Show
 except
 end;

 if FindComponent( ComponentName )<>nil then
    ShowMessage("there is "+ ComponentName )
end;


← →
Wood   (2004-11-07 18:34) [14]

>Defunct [13]
Посмотрю, спасибо



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
1-1099745788
bloodman
2004-11-06 15:56
2004.11.21
Как сделать так, чтобы при перетаскивании формы по экрану...


6-1095161126
bsa
2004-09-14 15:25
2004.11.21
как извлечь текст (убрать тэги) из html


3-1098431394
Andrey_
2004-10-22 11:49
2004.11.21
Перегенерация индексов


14-1099707837
Fktrc
2004-11-06 05:23
2004.11.21
Консольные утилиты


1-1099979166
nobse
2004-11-09 08:46
2004.11.21
Очищение StringGrid




   Наверх