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




Вниз

Достать подменю 


Канадин Владимир   (2002-02-28 12:09) [0]

Вопрос прост: хочу достать подменю из всплывающего меню, чтобы присобачить его к DropDown Menu на кнопке ToolBar"а. Или заставить меню считать другое Popup меню своим подменю. Кто-нибудь может подсказать способ решения этой проблемы?



lipskiy   (2002-02-28 21:05) [1]

Во-во, мне бы тоже хотелось услышать решение, если оно есть.
Я как-то мучился, ничего не вышло. IMHO, ни как нельзя.



Song   (2002-02-28 21:39) [2]

Достать по-моему не проблема, если я правильно понял вопрос:
TMenuItem(Sender).Caption



lipskiy   (2002-02-28 22:10) [3]

Насколько я понял, надо не название менюхи достать, а ее саму оторвать от одной менюхи и прикрутить к другой. Типа подветку из одного Popup перенести в другой Popup, или же просто отображать и там и там одно и тоже подменю.



[NIKEL]   (2002-03-01 05:40) [4]

(если я правильно понял вопрос)
если надо отображать и там и там одно и тоже меню, то зачем другой Popup ? достаточно обработать нажатие левой клавы мыши на любом компаненте и раскрыть там нужное попап меню :)
примерно так:

void __fastcall TMainForm::SomeButtonClick(TObject *Sender)
{
PopupMenu->Popup(Mouse->CursorPos.x,Mouse->CursorPos.y);
}

вот и всё



Канадин Владимир   (2002-03-01 11:35) [5]

К сожалению, вопрос был в другом. В Delphi в главном меню есть пункт File/Reopen, в котором выпадает меню-список последних проектов и файлов. Точно такое-же меню-список выпадает при нажатии на DropDown кнопку Open. Вопрос состоит в том, как реализовать самому аналогичное поведение меню.



DieHard   (2002-03-01 13:00) [6]

Похоже, что только созданием заново при нажатии на кнопку аналогичного меню



Val   (2002-03-01 13:01) [7]

например так:

var MyPopup:TPopupMenu;
NewItem: TMenuItem;
i:byte;
MySubItems: array[0..1] of TMenuItem;
begin
MyPopup:=TPopupMenu.Create(Self);
NewItem := TMenuItem.Create(Self);
NewItem.Caption := "NewItem";
MyPopup.Items.Add(NewItem);

for i:=0 to 1 do
begin
MySubItems[i] := TMenuItem.Create(Self);
MySubItems[i].Caption := PopupMenu1.Items[1].Items[i].Caption;
MySubItems[i].OnClick := PopupMenu1.Items[1].Items[i].OnClick;
MyPopup.Items[0].Add(MySubItems[i]);
//а так почему-то не добавляется :( ???
//MyPopup.Items[0].Add(PopupMenu1.Items[1].Items[i]);
end;
ToolButton1.DropDownMenu:=MyPopup;
..
end;




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




Наверх





Память: 0.73 MB
Время: 0.021 c
7-57536           Дима                  2001-12-17 18:31  2002.03.18  
Звук из системного динамика


1-57347           vopros                2002-03-04 11:59  2002.03.18  
Как отправить в Word текст в колонтитулы?Через OLE автоматизацию?


3-57339           Softmaster            2002-02-17 12:23  2002.03.18  
Помощь по концепции.


1-57355           Eraser                2002-03-04 16:01  2002.03.18  
Как программно добавить строку меню и подменю в TMainMenu


3-57297           draculenok            2002-02-19 07:49  2002.03.18  
Кто-нибудь.....