Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.18;
Скачать: CL | DM;

Вниз

Достать подменю   Найти похожие ветки 

 
Канадин Владимир   (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;



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

Текущий архив: 2002.03.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
1-57457
Man-In-Red
2002-03-03 03:04
2002.03.18
Как в своей программе использовать свои курсоры? Посмотрите, пожалуйста, что тут не так?


4-57577
solo
2002-01-18 01:45
2002.03.18
Создание окна при помощи WinAp


3-57322
Malder
2002-02-17 18:50
2002.03.18
Управление доступом к базе данных InterBase


1-57438
BVS
2002-03-03 14:29
2002.03.18
Ключи компелятора


1-57455
AndreyB
2002-03-02 20:52
2002.03.18
TrichEdit