Конференция "Основная" » Проблема с закрытием Docking формы [D7, WinXP]
 
  • du_hast (19.06.08 14:14) [0]
    Добрый день всем!
    Значит есть у меня Docking форма. Возникла проблема её закрытия когда она находится на самом Доке ( не в плавающем остосянии Not Floating !!! - это важно), тобиж "припаркована" (есть полоска перетаскивания и крестик закрыти, тот самый событие которого нужно переопределить).
    Так вот не могу найти нужное сообщение или событие чтобы переопределить - ни WM_CLOSE, ни CM_VISIBLECHANGED не подходит. Может кто нибудь сталкивался - модскажите (Буду рад если ответит MsGuns :-))))))) )
  • Юрий Зотов © (19.06.08 17:33) [1]
    Обычно крестик посылает wm_syscommand.
  • du_hast (19.06.08 18:13) [2]

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

    Да, вы правы - главная форма сообщение получает - но сама "припаркованная" докин панель не получает это сообщение. Такое чувство что она просто хадится, а не закрывается.
    Когда панели после закрытия "сказать" visible := true; - то она без проблем появляется. а вот выловить момент её исчезновения не удаётся.
    Как вариант можно попробовать порыться в DockManager-е. Сейчас попробую
  • du_hast (20.06.08 12:15) [3]
    Не вышло, не получилось ((
    Вопрос остаётся открытым.

    я натыкался на данный вопрос на англоязычных форумах, но там для регистрации нужна денюжка
  • ZENsan © (20.06.08 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 © (20.06.08 19:42) [5]
    Это я написал если ты имел ввиду контрол (панель и т.д.). А с формой такой проблемы не должно быть.
  • du_hast (23.06.08 23:36) [6]
    Спасибо за совет ))
    Я нашол другой способ-
    Я использовал TControlPanel как док, а как док-клиента TPanel, в этом случае "крестик" закрытия не создаётся- короче получилась тривиальная таскаемая панелька
 
Конференция "Основная" » Проблема с закрытием Docking формы [D7, WinXP]
Есть новые Нет новых   [134491   +13][b:0][p:0.001]