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

Вниз

Обработка событий через TActionlist   Найти похожие ветки 

 
diabolik_krsk   (2004-10-25 14:09) [0]

Доброго времени суток уважаемые мастера. У меня следующий вопрос.

На форме размещено 4 компонента TPanel и компонент TActionlist.
В TActionlist пишу обработчик событий и привязываю его к свойству OnClick компонента TPanel.
Однако в обработчике событий не могу определить над какой панелью нажата кнопка мыши.
Пытался обработать if Main.Panel1.OnClick - однако дельфя пишет: недостаточно параметров.
Подскажите как решить данную ситуацию.


 
Pentium133 ©   (2004-10-25 14:14) [1]

возможнов в обработчике OnClick параметр Sender и будет как раз нужной панелью


 
Ega23 ©   (2004-10-25 14:15) [2]

Если у тебя Action, то в качестве Sender ты получаешь TAction.
Можно просто создать метод OnPanelClick(Sender:TObject), присвоить его твоим панелькам. Тогда в качестве Sender ты уже TPanel будешь получать.
Как с Action быть точно не помню, попробую поискать...


 
diabolik_krsk   (2004-10-26 05:40) [3]

Буду благодарен.


 
Ega23 ©   (2004-10-26 09:52) [4]

Не нашёл... Попробуй Tag свойство использовать.


 
Экспериментатор   (2004-10-26 10:09) [5]

Используй в обработчике событий
GetCursorPos() для определения координат мыши

и function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean, AllowWinControls:Boolean=False): TControl;

для определения на каким контролом она вообще находится


 
Экспериментатор   (2004-10-26 10:14) [6]

плюс возможно небольшое колдунство с ClientToScreen ScreenToClient


 
icWasya ©   (2004-10-26 12:24) [7]

что-то типа так


type
 THuckActionLink = class(TControlActionLink);



procedure TForm1.Action1OnExecute(Sender:TObject);
var
 ThisControl:TControl;
begin
 if Sender is TControl
 then
    ThisControl:=TControl(Sender)
 else
 if Sender is TControlActionLink
 then
    ThisControl:=THuckActionLink(Sender).FClient
 else
    ThisControl:=nil;
 //  далее работаем с ThisControl
end;


 
diabolik_krsk   (2004-11-03 08:04) [8]

Спасибо. Все работает.



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

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

Наверх




Память: 0.48 MB
Время: 0.059 c
14-1099488222
John
2004-11-03 16:23
2004.11.21
Помогите решить задачу


9-1090255420
ferr
2004-07-19 20:43
2004.11.21
Предлагаю поглядеть игру.


14-1099572742
syte_ser78
2004-11-04 15:52
2004.11.21
подскажите неумному о EXEC-e


8-1093447044
Anderson
2004-08-25 19:17
2004.11.21
Изменение глубины цвета у TIcon.


3-1098696836
Карелин Артем
2004-10-25 13:33
2004.11.21
Нужен сложный "григ", в котором можно показать связанные таблицы.