| 
| 
 | Вопрос # 368/ вопрос открыт / | 
 |  Приветствую!!!У меня MainMenu.На событие формы OnShow такой текст(работает). Нужно добавить строчек,чтоб при клике по соотв.элементу, форме передавался фокус. Приложение:Переключить в обычный режим NewItem:= TMenuItem.Create(Form1.N45); NewItem.Caption:=Caption; Form1.N45.Add(NewItem); Form1.N45.Find(Caption).RadioItem:=True;
|  |   Вопрос задал: KilkaMS (статус: Посетитель)Вопрос отправлен: 3 марта 2007, 00:20
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: min@y™ В объявлении формы надо прописать обработчик события OnClick() для свежесозданных пунктов MainMenu. В реализации этого обработчика надо передать фокус форме. При создании нового пункта меню, его свойству OnClick надо присовоить сделанный обработчик.См. Приложение.
 Приложение:Переключить в обычный режим type  Form1 = class(TForm);   ....  protected    procedure NewItemClick(Sender: TObject);  end;  implementation  .... procedure TForm1.NewItemClick(Sender: TObject);begin  if CanFocus    then SetFocus;end; ........ NewItem:= TMenuItem.Create(Form1.N45); NewItem.Caption:=Caption; Form1.N45.Add(NewItem); Form1.N45.Find(Caption).RadioItem:=True;//============= NewItem.OnClick:= NewItemClick;
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 5 марта 2007, 08:37
 Оценка за ответ: 5
 Комментарий к оценке: Это вариант рабосий,но не красивый.Я надеялся еще что-нить узнать.Спасибо за потраченое время. |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 30 января 2009, 11:45; участников в обсуждении: 3. 
|   | Шарайчук Сергей Олександрович (статус: 2-ой класс), 3 марта 2007, 16:13 [#1]:Можно поконкретние что тебе нужно? Я бы изменил мир, но Бог не дает исходники! |  
|   | KilkaMS (статус: Посетитель), 4 марта 2007, 00:52 [#2]:Во многих программах есть элемент 'Окно'.Хочу сделать нечто подобное.Открывается форма, создается кнопка с ее названием в MainMenu(у меня несколько форм).передаю фокус на главную форму.После открытия меню 'Окно'выбираю элемент соотв уже сущ. форме,и она получает фокус.Все это надо сделать во время выполнения программы. Единственное что я придумал,это создать процедур в кол-ве равной кол-ву форм,и на событие OnClick присвоить имя процедуры.Но мне это кажется некрасивым методом.
 |  
|   | Владимиров В.Ф. (статус: Посетитель), 30 января 2009, 11:45 [#3]:Спасибо за ответ на вопрос 368. Эта сторона вопроса понятна. Из вашего ответа следует, что иннструментарий разработчика сохранен в прежнем объеме? |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |