Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.027 c
1-1083998908
Аноним
2004-05-08 10:48
2004.05.23
Шахматное поле рекурсией


6-1080710055
Mistic
2004-03-31 09:14
2004.05.23
Зависание компа из-за сервера


1-1083911411
SergS
2004-05-07 10:30
2004.05.23
Об использовании FindComponent.


1-1084199356
glGLU
2004-05-10 18:29
2004.05.23
Edit & randomize


14-1083674325
****
2004-05-04 16:38
2004.05.23
Вот думаю ,думаю и никак не придумаю : что означает слово "ИМХО"?




   Наверх