Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.002 c
2-1357583131
Tim29
2013-01-07 22:25
2013.09.22
Работа с файлами


3-1293012227
adigozelov
2010-12-22 13:03
2013.09.22
запрос


2-1357805002
AstonMartin
2013-01-10 12:03
2013.09.22
добавление в ComboBox


15-1363286070
Bitt
2013-03-14 22:34
2013.09.22
TImage рисование точки


15-1365798603
Юрий
2013-04-13 00:30
2013.09.22
С днем рождения ! 13 апреля 2013 суббота





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский