Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

НЕмодальное->Модальное   Найти похожие ветки 

 
Yojik   (2006-03-27 12:02) [0]

Подскажите как сделать немодальное окно (вызваное .Show) модальным (без его закрытия или хайда), в исходниках TCustomForm.ShowModal вообще не понятно, как обычное окно становится модальным, каков принцип?!?!?


 
begin...end ©   (2006-03-27 12:16) [1]

Принцип (вкратце) таков.

Вначале все окна текущего потока "задизабливаются" (EnableWindow(..., False)). Потом показывается нужная форма (Show). На время её показа организовывается цикл выборки сообщений из очереди текущего потока — вместо того цикла, который работал в объекте Application (см. код TApplication.Run). Цикл этот продолжается до тех пор, пока у формы не будет установлен ModalResult (например, за счёт нажатия какой-нибудь кнопки со свойством ModalResult <> mrNone). После этого для окон, которые перед циклом были "задизаблены", вызывается EnableWindow(..., True), и метод ShowModal возвращает управление — а значит, продолжает работать цикл выборки сообщений в методе TApplication.Run.


 
Yojik   (2006-03-27 12:44) [2]

Мой бог! Спасибо конечно :) вот блин круто, а готовой процедуры нет, чтоб форму сделать модальной на лету. Чёт я это сам буду 3 дня реализовывать помоему.
Пасибо


 
balepa ©   (2006-03-27 12:51) [3]


> Yojik   (27.03.06 12:44) [2]

ShowModal


 
Yojik   (2006-03-27 12:57) [4]

Ну пасибо ShowModal :).
Ну харашо, а как изменить CustomForm.ShowModal, так чтоб он работал с любой формой, главное, чтоб она уже была создана и показана?


 
Рамиль ©   (2006-03-27 13:05) [5]


> Ну харашо, а как изменить CustomForm.ShowModal, так чтоб
> он работал с любой формой, главное, чтоб она уже была создана
> и показана?

Как в
> begin...end ©   (27.03.06 12:16) [1]

:)


 
Yojik   (2006-03-27 13:18) [6]

Эх жаль тут модераторы, а то я тебе такой офтопег тебе бы накатал)))



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.015 c
15-1133314811
Delphi5.01
2005-11-30 04:40
2006.04.09
Прошу оценить и высказать личное мнение


2-1143100617
Darkwing
2006-03-23 10:56
2006.04.09
Динамический массив в Record е


10-1115966812
Irishka
2005-05-13 10:46
2006.04.09
TIMAGE и WORD


2-1142784849
perat
2006-03-19 19:14
2006.04.09
поиск и удаление пустых папок


1-1141561561
Fenix
2006-03-05 15:26
2006.04.09
Копирование отформатированного текст из RichEdit a





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