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

Вниз

Как отловить у ToolBar режим floating, т.е. когда ToolBar   Найти похожие ветки 

 
Layner ©   (2005-06-14 11:06) [0]

находится над формой, в виде плавающего окошка?


 
Layner ©   (2005-06-14 11:08) [1]

Т.е. событие OnEndDock, а как узнать, плавающее это окошко, или встроенное в CoolBar, и если плавающее, как отловить, что его закрыли.. :)
Заранее благодарю.


 
ferr ©   (2005-06-14 11:28) [2]

ToolBar.Parent глядеть можно...


 
Layner ©   (2005-06-14 11:39) [3]

ferr ©   (14.06.05 11:28)
Спасибо, точно, с родителем вроде разобрался, если окно плавающее, то родителя нет (в моем случае так смотрю, код ниже)
procedure Tfmain.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
 Showmessage("Операция: EndDock; Родитель: "+ToolBar1.Parent.Name+"; Координаты:"+IntToStr(X)+"-"+IntToStr(Y));
end;

А вот как узнать, что закрыли плавающее окно? Или можно наоборот, как не допустить закрытия плавающего окна? 2е даже было бы предпочтительнее 1го.


 
Чапаев ©   (2005-06-14 12:56) [4]

>А вот как узнать, что закрыли плавающее окно? Или можно >наоборот, как не допустить закрытия плавающего окна? 2е даже >было бы предпочтительнее 1го.
Я создавал наследника TCustomDockForm, нужному контролу FloatingDockSiteClass назначал этот свой класс. А в классе уж отрабатывал OnClose(), OnCloseQuery().


 
Layner ©   (2005-06-14 13:32) [5]

Нашел рабочее решение, мог бы использовать, да OnClose у меня выполняется под другим назначением.

procedure Tfmain.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
if ToolBar1.Floating then
 if ToolBar1.Parent is TToolDockForm then
  TForm(ToolBar1.Parent).OnClose := FormClose;
end;


Может есть ещё какие нибудь варианты?


 
ferr ©   (2005-06-14 16:21) [6]

Хех, а что мешает использовать не OnClose?
 TForm1 = class(TForm)
...
   procedure FormClose2(Sender: TObject; var Action: TCloseAction);
 private
...
procedure TForm1.ToolBar1EndDock(Sender, Target: TObject; X, Y: Integer);
begin
if ToolBar1.Floating then
if ToolBar1.Parent is TToolDockForm then
 TForm(ToolBar1.Parent).OnClose := FormClose2;
end;

procedure TForm1.FormClose2(Sender: TObject; var Action: TCloseAction);
begin
showmessage("Good for you");
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
3-1117526486
_Max
2005-05-31 12:01
2005.07.11
Вылетает AV


14-1118336763
NightStranger
2005-06-09 21:06
2005.07.11
Что такое "бинарное дерево"


14-1118227771
DmitMal
2005-06-08 14:49
2005.07.11
Delhi 6 и Delphi 2005


14-1117924451
паша_голубь
2005-06-05 02:34
2005.07.11
Киевская Встреча Мастаков


1-1119368947
aha
2005-06-21 19:49
2005.07.11
для хранения разных параметров программы пользуюсь компонентом