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

Вниз

OnClose в объекте TToolBar   Найти похожие ветки 

 
Алексей Петухов   (2004-05-06 20:58) [0]

Здравствуйте, уважаемые Мастера.
Подскажите пожалуйста, как отловить событие "OnClose" в объекте TToolBar, если я вытащил его мышкой в собственное окно (т.е. ToolBar.Floating=true)?
Заранее благодарю за помощь


 
Sun bittern ©   (2004-05-07 06:44) [1]

Клик по кнопке в заголовке окна WM_NCLBUTTONDOWN
Только нет гарантии, что при клике на эту кноку TToolBar закрыли.
Т.е. кликнули мышкой и не отпуская кнопки мыши отвели курсор в сторону от кнопки.


 
Романов Р.В. ©   (2004-05-07 07:53) [2]

Ну если он реализован в виде окна, то по идее должен получать сообщение WM_CLOSE.


 
Mim1 ©   (2004-05-07 07:54) [3]

Несколько не правильное решение, однако рабочее

procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
 if ToolBar1.Floating then
   if ToolBar1.Parent is TToolDockForm then
     TForm(ToolBar1.Parent).onClose := FormClose; // дело в том что тулдокформ не является наследником tform
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 ShowMessage("1");
end;


Правильнее тут заменить оконную процедуру у TToolDockForm и перехватывать сообщение wm_close.


 
Алексей Петухов   (2004-05-09 18:17) [4]

Большое спасибо за помощь



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
14-1083237452
SPeller
2004-04-29 15:17
2004.05.23
Как заработать денег?


1-1083916174
Zlodey
2004-05-07 11:49
2004.05.23
Проверка на существование MDI-Child


11-1072347108
ecm
2003-12-25 13:11
2004.05.23
Вылет в менеджере памяти


14-1083579274
Undert
2004-05-03 14:14
2004.05.23
Services


14-1083087967
ИМХО
2004-04-27 21:46
2004.05.23
Выход в Инет через мобильник