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

Вниз

Проблема с закрытием Docking формы   Найти похожие ветки 

 
du_hast   (2008-06-19 14:14) [0]

Добрый день всем!
Значит есть у меня Docking форма. Возникла проблема её закрытия когда она находится на самом Доке ( не в плавающем остосянии Not Floating !!! - это важно), тобиж "припаркована" (есть полоска перетаскивания и крестик закрыти, тот самый событие которого нужно переопределить).
Так вот не могу найти нужное сообщение или событие чтобы переопределить - ни WM_CLOSE, ни CM_VISIBLECHANGED не подходит. Может кто нибудь сталкивался - модскажите (Буду рад если ответит MsGuns :-))))))) )


 
Юрий Зотов ©   (2008-06-19 17:33) [1]

Обычно крестик посылает wm_syscommand.


 
du_hast   (2008-06-19 18:13) [2]


> Обычно крестик посылает wm_syscommand.

Да, вы правы - главная форма сообщение получает - но сама "припаркованная" докин панель не получает это сообщение. Такое чувство что она просто хадится, а не закрывается.
Когда панели после закрытия "сказать" visible := true; - то она без проблем появляется. а вот выловить момент её исчезновения не удаётся.
Как вариант можно попробовать порыться в DockManager-е. Сейчас попробую


 
du_hast   (2008-06-20 12:15) [3]

Не вышло, не получилось ((
Вопрос остаётся открытым.

я натыкался на данный вопрос на англоязычных форумах, но там для регистрации нужна денюжка


 
ZENsan ©   (2008-06-20 19:40) [4]

Всунь док контрол в свою форму класса а ей опиши событие ОнКлоуз:


function DockCreateForm(Parent, Cl: TWinControl): TfrmTemplateDock;
begin
 Result := TfrmTemplateDock.Create(Parent);
 Result.ClientWidth := 192;
 Result.ClientHeight := 192;
 Result.Parent := Parent;
 Result.ParentWindow := Parent.Handle;
 Cl.Parent := Result;
 Cl.Align := alClient;
 Result.DragKind := dkDock;
 Result.DragMode := dmAutomatic;
end;


>>Значит есть у меня Docking форма.

Если это форма, то у неё всегда срабатывает ОнКлоуз (WM_CLOSE).


 
ZENsan ©   (2008-06-20 19:42) [5]

Это я написал если ты имел ввиду контрол (панель и т.д.). А с формой такой проблемы не должно быть.


 
du_hast   (2008-06-23 23:36) [6]

Спасибо за совет ))
Я нашол другой способ-
Я использовал TControlPanel как док, а как док-клиента TPanel, в этом случае "крестик" закрытия не создаётся- короче получилась тривиальная таскаемая панелька



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
1-1213790875
master_root
2008-06-18 16:07
2009.09.06
переопределение операций(сложение, вычитание...)


2-1246940192
f-a-l-l-e-n
2009-07-07 08:16
2009.09.06
Проблема с richedit


15-1246621316
XcCCC
2009-07-03 15:41
2009.09.06
DEC to HEX


1-1213975256
Андрей
2008-06-20 19:20
2009.09.06
Перехват событий


15-1247067931
Артур Пирожков
2009-07-08 19:45
2009.09.06
Про систему ЕГАИС