| Программирование под linux, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
Иконку ассоциированную с файлом, как получить? NURBS, Текстуры С НОВЫМ ГОДОМ Звуковая карта, Работа со звуковой картой в Делфи MP3 в WAV Звук в exe Ошибка Tbitmap, Не могу понять Таймер, Таймер Как записать wav, Как записать wav из звуковой карты? FixedPoint, ликвидация безграмотности Модули, позволяющие на DELPHI работать со звуковой, Модули, позволяющие на DELPHI работать с Ползунок d TrackBar, Как заставить его двигаться??? Диаграммы, Как с ними работать? Програмка, Хелп.. Вызвать сообшение Как Вы относитесь к курящим девушкам? Печать графики Текст, Вывод текста я могу это сделать, сравнение массива Mp3 теги, как получить mp3 теги Выбор цветов, Как создать прямоугольник с палотрой Цвета, Не меняются Как повысить громкость програмно, Как повысить громкость програмно TGraphicClass по расширению, как получить? Графическое задание фигур Вопрос по поводу открытия страниц через Delphi? Работа с очень большими БМП Изменение катинки..., ...Увеличение и т.д. Как программно разложить AVI на картинки и обратно, ?????????? Изменить громкость Как работает Transparent Color в TBitmap и TImage?, У меня что-то не работает.... :-( Алгоритм огня и дыма Наложить текстуру на Nurbs поверхность Компонент для отображения Графов Как построить круговую диаграмму в TCHART, (имея 4 параметра) Шо це воно такэ Работа с иконками, Каким образом задать прозрачный цвет ико Работа с БМП, прозрачность ?: Программирование (encode) WMA, Source code of WAV to WMA encoding Проблема с DGLut, Проблема с DGLut Быстро сравнение изображений Текстуры, Нужно натянуть текстуру на поверхность Звук через бипер Как издать звук спикером?, (если нет колонок, а надо оповестить) Цветные рисования на DC, DirectX Delphi+binkw32.dll, Кто знает нутро, помогите... еще раз о Палитре, работа с палитрой изображения Ping Вопрос к RAdminy и ко всем Загрузка текстуры, Почему-то не загружается??? Курсор, Помогите сделать курсор DirectX, Отключить DirectDraw Acceleration Как сделать прозрачность оси в chart, разрывная и нормированная ось в chart Как увеличить(растянуть) изображение Остановить воспроизведение звука? Курсор и "Пипетка", координаты курсора ицвет заданой точки Рабочая точка курсора прозрачний текст MDI, Как отловить нажатие 'Закрыть' Работаем с цветами Как Вы относитесь к курящим девушкам? Информация о видео файле, помогите, очень надо 24Bit преобразовать в 256, 16 и 2 цвета Чёрно-белые изображения Картинку вперед Как можно включить сглаживание линий при, рисовании на канве? OpenGL GluT, Проблемы RichEdit Background, Помещение фонового рисунка в RichEdit Как проиграть avi на весь экран, хочу пример. |
Платные хостинги Раскрутка сайта Книги по программированию MDI, Как отловить нажатие 'Закрыть'
- В MDI приложении требуется отловить нажатие оконной кнопки 'Close' (окно MdiChild) и произвести какие-нибудь действия?Спасибо. - Hi ! MDIChild как и любое другое окно имеет событие FormClose, Его и надо обработать.Удачи.(пример выслал на мыло) - Обрабатывай OnCloseQuery - Спасибо, спасибо. Но я вообще-то "не первый год за мужем" OnClose и OnCloseQuery я проходил. У меня такая проблема: Дочернее окно может быть закрыто и другими способами (извне как бы). И вот на разные случаи должно происходить что-то разное, в том числе и в случае, когда я закрываю форму непосредственно через значок "закрыть". Проще говоря, есть на главной форме кнопка Button1 OnClick которой, ну скажем MDIChildForm.Close; Нажал я на кнопку и закрыл доч.форму (Action:=caFree) и получил сообщение 'Окно закрыто по кнопке Button1', а если я нажал значок на форме (ее оконную кнопку "закрыть"), то получил сообщение 'Окно закрыто системно' В общем в этом духе. - Единственно, что приходит в голову, это либо следить за мышкой, и тогда легко узнать, что узер нажал на крестик, либо когда у тебя окно закрывается как-то по другому присылать свои сообщения и их обрабатывать. - Может, я чего-то недопонял, но при нажатии Button1 - OnClose а при нажатии "кнопки с крестиком" - OnCloseQuery. Почему бы не написать:Код procedure Form1.OnClose(...bla-bla..);beginApplication.MessageBox('You press a Button1', 'Test', 1);Close;end;Procedure Form1.OnCloseQuery (...bla-bla...);beginApplication.MessageBox('You press a "Krestik" :-)', 'Test', 1);CanClose:=True;end;highlightSyntax('delphimODJkM','delphi'); - Код procedure Form1.OnClose(...bla-bla..);beginApplication.MessageBox('You press a Button1', 'Test', 1);Close;end;Procedure Form1.OnCloseQuery (...bla-bla...);beginApplication.MessageBox('You press a "Krestik" :-)', 'Test', 1);CanClose:=True;end;highlightSyntax('delphiVhYjdj','delphi');Free ТАК НЕ ПОЙДЕТ!!!!!можешь сделать так или глобальную переменную, или через свойство form.tagпервоначально она равна 0Код procedure Form1.buttonclick();beginform.tag:=1;mdiform.close;end;procedure MdiForm.OnClose(...bla-bla..);beginIF form.tag=1 then Application.MessageBox('You press a Button', 'Test', 1)else Application.MessageBox('You press a other key', 'Test', 1);form.tag:=0;end;highlightSyntax('delphi1NTcxOT','delphi');Вроде должно работать - Вот решение касается не только MDI-формыtype TForm1=class(TForm).........protected procedure WMSYSMESSAGE(var MSG:TMessage); message WM_SYSCOMMAND;.........procedure TChannelForm.WMSYSMESSAGE(var MSG:TMessage);begin if MSG.WParam=SC_CLOSE then ShowMessage('системная кнопка'); else inherited;end;отреагирует только тогда, когда будет нажата системная кнопка 'close'; - WM_SYSCOMMAND, очевидно - WM_SYSCOMMAND отловит только ежели закрывать руками окно,лучше WM_DESTROY использовать, тогда везде отловишьДааа... надо с самого начала вопрос читать Админ, пожалуй удали это - ответ не по существу... - Отлов WM_SYSCOMMAND предполагает отлов SC_CLOSE в качестве WParam, соответсвенно это событие возникает при любом закрытии будь то клавиатурой, будь то мышью или ещё как-то кроме как аварийном завершении соответсвующего процесса.Если Вы точно не знаете, не надо вводить людей в неправильную инфу и создавать подземный стук. |