Главная страница
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.072 c
14-1118242101
ДимаСпб
2005-06-08 18:48
2005.07.11
Восстановление файлов


14-1118008114
KilkennyCat
2005-06-06 01:48
2005.07.11
Может, напрасно сайт съехал с валуехоста?


14-1118160113
ArMellon
2005-06-07 20:01
2005.07.11
Песни Led Zeppelin


14-1118052395
Ozone
2005-06-06 14:06
2005.07.11
Файл ответов для MSI


6-1112681299
peppo
2005-04-05 10:08
2005.07.11
Коннект "решительно отвергается"