Главная страница
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.027 c
1-1118444356
gans_2
2005-06-11 02:59
2005.07.11
как запретить редактирование отдельной ячейки StringGrid


14-1118378367
Gamer
2005-06-10 08:39
2005.07.11
СПАМЕР НАЙДЕН


14-1118524157
u-12
2005-06-12 01:09
2005.07.11
Помогите разобраться с датакабелем Самсунга


1-1119506247
JetMan
2005-06-23 09:57
2005.07.11
поиск по ListView


14-1118331206
Андрей Жук
2005-06-09 19:33
2005.07.11
Разрешается ли вам распивать спиртные напитки на рабочем месте?