|
Вопрос # 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. Эта сторона вопроса понятна. Из вашего ответа следует, что иннструментарий разработчика сохранен в прежнем объеме?
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|