Главная страница
    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.005 c
15-1247078903
Kerk
2009-07-08 22:48
2009.09.06
Вот где программисты Delphi кучкуются :)


15-1246653405
Knight
2009-07-04 00:36
2009.09.06
Downloader-ы...


15-1246132859
@!!ex
2009-06-28 00:00
2009.09.06
Все... теперь я точно хакер.


2-1246969271
Алексей111
2009-07-07 16:21
2009.09.06
Table is read only


2-1246958245
sashbc
2009-07-07 13:17
2009.09.06
vcl видимо





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