Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
2-1246946282
девушка
2009-07-07 09:58
2009.09.06
CommandText does not return a result set


3-1227087393
kulinar
2008-11-19 12:36
2009.09.06
соединения Delphi c БД Oracle


15-1246894995
Пит
2009-07-06 19:43
2009.09.06
AVG ругается на практически чистый проект Delphi


1-1213850890
Xandr
2008-06-19 08:48
2009.09.06
Длительный процесс


15-1246998605
Юрий
2009-07-08 00:30
2009.09.06
С днем рождения ! 8 июля 2009 среда





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский