Вниз
Скачать: CL | DM;

ActionList   Найти похожие ветки 

← →
Murad ©   (2004-07-19 14:13) [0]

Добрый день. Волею судеб пришлось вернуться на D5.
Ситуация следующая...
 есть Form1 и Form2...
 обе они на экране и не модальные...
 когда  мышью навожу(БЕЗ КЛИКА) на кнопку лежащую на  Form1 у
 которой  выставлено св-во Action, то Form2 "всплывает" - т.е.
 оказывается поверх Form1. МАГИЯ какая-то. Если у кнопки убрать
 Action и просто выставить обработчик для OnClick - то все
 нормально; Может патч нужен какой (у меня SP1, Build 6.18).
 Или может св-во какое-то хитрое где-то надо выставить...
 Помогите если знаете.


← →
Digitman ©   (2004-07-19 14:44) [1]

какие события и как обрабатываются тобой для объекта TAction, ассоциированного с кнопкой ?


← →
Murad ©   (2004-07-19 16:00) [2]

Только OnExecute


← →
Digitman ©   (2004-07-19 16:09) [3]


> Murad ©   (19.07.04 16:00) [2]


хм .. если именно так дело обстоит, то действительно чудеса творятся ... хотя как известно их не бывает

давай абстрагируемся на время от акций ...
какие события мыши, каких объектов своего приложения и как ты обрабатываешь ?


> Волею судеб пришлось вернуться на D5


т.е следует понимать, что тот же в точности код, но скомпилированный под более старшими версиями Делфи, никаких чудес не обнаруживал в ран-тайм ?


← →
Murad ©   (2004-07-19 16:29) [4]

Никаких событий я не обрабатываю... Это обычные ToolButton-ы
кстати еще есть и дублирующие их элементы меню... И те и другие завязаны на Action-ы из ActionList. Кстати... с элементами меню (menuitem) у которых  выставлено св-во Action  тоже беда... При наведении на эти элементы мыши (без щелчка) меню схлопывается (не выполняя действие). Под D6 и D7 я именно этот код не писал, но всегда пишу в таком стиле (Используя ActionList)


← →
Digitman ©   (2004-07-19 16:33) [5]


> Murad


поставь-ка для начала брейкпойнт на первую строчку обработчика OnExecute ..


← →
Murad ©   (2004-07-19 17:10) [6]

Я нашел ошибку... к сожалению словами ее описать не могу...
СПАСИБО БОЛЬШОЕ ЗА УЧАСТИЕ :)


← →
Murad ©   (2004-07-19 17:40) [7]

Если в двух словах, то в элементах лежащих на Form2 у меня был переопределен метод Notification, в котором вызывался метод который приводил к "всплытию" формы, А ActionList неявно создавал объект TActionHint и вызывал метод Notification(TActionHint, opInsert)

procedure TCellPanelGuiControl.Notification(AComponent: TComponent;
 Operation: TOperation);
begin
 inherited Notification(AComponent, Operation);
 if (Operation = opInsert) then
     ReorganizeContent; // Метод приводящий к поднятию формы
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
14-1089977904
Prohodil Mimo
2004-07-16 15:38
2004.08.01
Просто мнение об отвлечённых темах.


1-1089925831
AlexR
2004-07-16 01:10
2004.08.01
Отследить нажатие га доп. клавиатуре


1-1089846421
Vetalich
2004-07-15 03:07
2004.08.01
Сохранение галочек


1-1090141899
Larisa
2004-07-18 13:11
2004.08.01
Подскажите, пожалуйста, как сделать, чтобы приложение само


14-1089436517
YurikGL
2004-07-10 09:15
2004.08.01
LCD и ЭЛТ




   Наверх