Форум: "Начинающим";
Текущий архив: 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.45 MB
Время: 0.001 c