Форум: "Основная";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];
ВнизПроблема с закрытием 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.02 c