Вниз
Скачать: 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.022 c
1-1090413830
leonon
2004-07-21 16:43
2004.08.01
Exception при вызове дизайнера FastReport в RunTime


3-1089367754
SOS
2004-07-09 14:09
2004.08.01
проблемка з запросом


4-1087814076
Users
2004-06-21 14:34
2004.08.01
CreateFile для привода CD


8-1084713961
iudjen
2004-05-16 17:26
2004.08.01
видеозапись экрана


14-1089804747
YurikGL
2004-07-14 15:32
2004.08.01
Работать что-бы трудиться




   Наверх