Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.01.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
ttt   (2013-03-12 14:43) [0]

Добрый день.

Имеется IContextMenu и TPopupMenu в который нужно добавить его как подменю.

Как реализовать? И возможно ли отловить момент показа этого самого подменю и только тогда "заполнить"?


 
Ega23 ©   (2013-03-12 15:03) [1]


>  И возможно ли отловить момент показа этого самого подменю



unit Unit35;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Menus;

type
 TForm35 = class(TForm)
   procedure OnMenuItemClick(Sender: TObject);
   procedure PopupMenuOnPopup(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   popMenu: TPopupMenu;
 public
   { Public declarations }
 end;

var
 Form35: TForm35;

implementation

{$R *.dfm}

procedure TForm35.FormCreate(Sender: TObject);
begin
 popMenu := TPopupMenu.Create(Self);
 popMenu.AutoHotkeys := maManual;
 popMenu.OnPopup := PopupMenuOnPopup;
 Self.PopupMenu := popMenu;
end;

procedure TForm35.OnMenuItemClick(Sender: TObject);
begin
 ShowMessage((Sender as TMenuItem).Caption + " clicked");
end;

procedure TForm35.PopupMenuOnPopup(Sender: TObject);
var
 itm: TMenuItem;
 i: Integer;
begin
 popMenu.Items.Clear;
 for i := 1 to 10 do
 begin
   itm := TMenuItem.Create(popMenu);
   itm.Caption := Format("Menu Item %d", [i]);
   itm.OnClick := OnMenuItemClick;
   popMenu.Items.Add(itm);
 end;
end;

end.


 
Rouse_ ©   (2013-03-12 15:07) [2]

Конечно можно, перед непосредственным TrackPopupMenu делай с ним что угодно. Посмотри вот этот пример: http://rouse.drkb.ru/winapi.php#syspopup


 
ttt   (2013-03-12 15:16) [3]

Не совсем то. Вот уже PopupMenu "красуется" на экране, и в какой-то момент пользователь наводит на "Показать подменю >". Я заполняю это самое подменю из IContextMenu и отображаю.

Не буду ходить вокруг да около. Пример реализации есть в опере. Там, выбрав одну из загрузок, отобразится попуп с последним пунктом "Дополнительно". Дополнительно – стандартное меню файла из экплорера. Судя по подвисанию, оно подгружается в момент отображения. Но это не критично, можно добавить и во время отображения всего попупа. Вот бы знать как (первый вопрос темы).


 
Rouse_ ©   (2013-03-12 15:48) [4]

А, т.е. вопрос в моменте отображение именно дополнительного сабменю.
Ну чтож, это тоже есть у меня, изучай :)
http://rouse.drkb.ru/other.php#fwmenuex


 
Дмитрий С ©   (2013-03-13 10:51) [5]

Событие onclick для пункта меню.



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

Форум: "Начинающим";
Текущий архив: 2014.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.002 c
15-1374265802
Юрий
2013-07-20 00:30
2014.01.05
С днем рождения ! 20 июля 2013 суббота


15-1374264388
Smile
2013-07-20 00:06
2014.01.05
С днем рождения!


15-1374179978
Mobilnik
2013-07-19 00:39
2014.01.05
Интерактивные обои Samsung Galaxy Ace 2


15-1367331353
robt2
2013-04-30 18:15
2014.01.05
почтовые клиенты


2-1363092921
cr@nk
2013-03-12 16:55
2014.01.05
Как правильно организовать выбор даты из имеющегося списка?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский