Форум: "Начинающим";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Внизкак определить контрол вызвавший popupmenu Найти похожие ветки
← →
Разведка (2013-01-10 22:06) [0]На форме несколько контролов и один TPopupActionBar
Все контролы вызывают одно меню, как определить в процедуре вызванного меню какой именно контрол его вызвал?
ShowMessage(TControl(Sender).ClassName);
Сендер определяет только класс самого меню
← →
Игорь Шевченко © (2013-01-10 22:09) [1]Зачем ?
← →
Smile (2013-01-10 22:13) [2]> Игорь Шевченко © (10.01.13 22:09) [1]
Мне тоже интересно, зачем?
:)
← →
Ega23 © (2013-01-10 22:16) [3]
unit Unit21;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, ComCtrls;
type
TForm21 = class(TForm)
TreeView1: TTreeView;
ListView1: TListView;
ListView2: TListView;
PopupMenu1: TPopupMenu;
qwewqe1: TMenuItem;
procedure qwewqe1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form21: TForm21;
implementation
{$R *.dfm}
procedure TForm21.qwewqe1Click(Sender: TObject);
begin
ShowMessage(PopupMenu1.PopupComponent.Name);
end;
← →
Sha © (2013-01-10 22:16) [4]PopupComponent
← →
Разведка (2013-01-10 22:23) [5]
> Игорь Шевченко © (10.01.13 22:09) [1]
> Зачем ?
Не красиво отвечать на вопрос вопросом
Вы меня толкаете в дополнительную демагогию
Например у меня БД где учитываются РОГА и КОПЫТА и на форме добабавления в таблицу новых рогов и копыт 2 комбобокса из которых нужно выбрать в 1-м рога (прямые, косые, спиленные) во 2-м копыта (подкованные, стертые... т.д.), но вот возникает ситуация, когда желаемых свойств нет, но есть попуп меню в котором есть пункт "добавить в справочник" оно вызывает справочник для добавления, но в зависимости каким контролом было вызвано меню, например РОГА, то в процедуре должен вызван и соответствующий справочник "Добавление РОГОВ" ..
На форме много на самом деле много контролов с единственным меню...
← →
Игорь Шевченко © (2013-01-10 22:34) [6]Бедные пользователи
← →
Разведка (2013-01-10 22:35) [7]
> Игорь Шевченко © (10.01.13 22:34) [6]
> Бедные пользователи
Ок. А как вариант как можно по другому?
← →
Den (2013-01-10 23:06) [8]Я может не совсем понял че автор хотел но что если определить глобальный TComponent и проверять его при вызове? Сори если не в тему даже не знаю че такое TPopupMenu это.
← →
Игорь Шевченко © (2013-01-10 23:07) [9]Как вариант, меню должно предполагать однозначное действие, а не разные, в зависимости от того, кто инициировал это единственное меню. Применительно к рогам с копытами я бы ввел два пункта - добавтить рог или добавить копыто
← →
Ega23 © (2013-01-10 23:22) [10]
> Как вариант, меню должно предполагать однозначное действие,
> а не разные, в зависимости от того, кто инициировал это
> единственное меню. Применительно к рогам с копытами я бы
> ввел два пункта - добавтить рог или добавить копыто
>
Ну тут спорный вопрос. Если на попапе - то, наверное, создать 2 экшена с Caption = "Добавить". А если не только попап, но ещё и кнопка на тулбаре, то не лишено смысла создать один Action и там в нём контрол проверять.
← →
Игорь Шевченко © (2013-01-10 23:28) [11]Ega23 © (10.01.13 23:22) [10]
Action должен выполнять, а не проверять. Впрочем, желающих странного достаточно.
← →
Ega23 © (2013-01-11 01:01) [12]
> Action должен выполнять, а не проверять.
Ага, а OnActionUpdate - это для марсиан.
← →
Германн © (2013-01-11 02:04) [13]
> Игорь Шевченко © (10.01.13 23:07) [9]
>
> Как вариант, меню должно предполагать однозначное действие,
> а не разные, в зависимости от того, кто инициировал это
> единственное меню. Применительно к рогам с копытами я бы
> ввел два пункта - добавтить рог или добавить копыто
>
Не согласен! Зачем пользователю, который хочет и в некоторых случаях может работать только с рогами выдавать меню, где есть выбор копыт?
← →
Inovet © (2013-01-11 02:19) [14]Я сразу и не понял, как сделано. А не лучше ли по кнопке для вызова редактора справочника возле каждого комбобокса? Даже сделать такой компонет специальный.
← →
Игорь Шевченко © (2013-01-11 10:27) [15]Ega23 © (11.01.13 01:01) [12]
> Ага, а OnActionUpdate - это для марсиан.
Это в Киеве дядька
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c