Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ActionList [D5, Win2k]


Murad ©   (2004-07-19 14:13:00) 

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


Murad   (2004-07-19 17:40:00) [1]

Если в двух словах, то в элементах лежащих на 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;


Murad   (2004-07-19 17:10:00) [2]

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


Digitman   (2004-07-19 16:33:00) [3]


> Murad


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


Murad   (2004-07-19 16:29:00) [4]

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


Digitman   (2004-07-19 16:09:00) [5]


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


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

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


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


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


Murad   (2004-07-19 16:00:00) [6]

Только OnExecute


Digitman   (2004-07-19 14:44:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо