Главная страница
    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.45 MB
Время: 0.054 c
14-1118563788
sofs
2005-06-12 12:09
2005.07.11
Какие пренципиальые различия ...


1-1118653454
Navi
2005-06-13 13:04
2005.07.11
Что такое Text?


5-1088140621
AlexGreG
2004-06-25 09:17
2005.07.11
ComboBox с выпадающей формой TForm


3-1117386935
parasolka
2005-05-29 21:15
2005.07.11
Работа с DBGrid


1-1118393065
Салават
2005-06-10 12:44
2005.07.11
путьк файлу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский