Текущий архив: 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.45 MB
Время: 0.035 c