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

Вниз

По поводу ShowModal   Найти похожие ветки 

 
stelius ©   (2004-08-04 17:53) [0]

Народ, подскажите как сделать так, чтобы форма была поверх не всех окон (ShowModal), а только поверх определенных?


 
Iconka ©   (2004-08-04 17:54) [1]

А смысл?


 
Cobalt ©   (2004-08-04 17:59) [2]

Так не получится - модальная форма захватывает весь поток событий. Разве что запретить (Enable:=false) нужные формы. А если обязательно поферх какой-то из них, то можно установить её Родительским окном.


 
stelius ©   (2004-08-04 18:02) [3]

=) Ну вот хочу я так. Есть такая возможность или нет. =)
На если серьезно, то:
Вот есть у меня приложение с MDI формами. Открыто несколько из них. Из одной вызывается не MDI форма методом ShowModal и пока я ее не закрыл остальные не доступны, а мне надо чтоб недоступной была толька вызвавшее это окно форма.


 
stelius ©   (2004-08-04 18:03) [4]

2 Cobalt
Ну может не ShowModal, а что-нибудь исчо, способ не важен гл. результат.


 
Iconka ©   (2004-08-04 18:09) [5]

Стандарной возможности нет.


 
Cobalt ©   (2004-08-10 12:25) [6]

я же говорю - запрещай (disable) необходимую тебе форму, и ставь её в качестве родителя.
Честно говоря, в этом не уверен - никогда так не делал, но ты попробуй...


 
Кириешки ©   (2004-08-10 13:14) [7]

Чтобы была доступна вызывающая форма, я делал так :
1) Ставил у первой формы - fsMDIForm
2) У второй ставил fsMDIChild
3) На первую форму ставил кнопку, которая вызывает вторую форму
  методом ShowModal. Например Form2.Showmodal;
4) Запускал программу. Нажимал на кнопку, появлялась сообщение об    ошибке, что типа модальное окно не может стать видимым (потому    что оно уже видимо изначально).
5) Зывершал программу.
6) Ставил у первой формы fsNormal
7) Запускал программу. Опять появлялось сообщение об ошибке.
8) Завршал программу и ставил у второй форму fsNormal;

ПОСЛЕ ЧЕГО ОБЕ ФОРМЫ были доступны, можно работать с обоими одновременно. Вот.


 
Кириешки ©   (2004-08-10 13:18) [8]

PS. Я не знаю из за чего такое получается. Может кто-нибудь из умных дядек объяснит.


 
TUser ©   (2004-08-10 13:36) [9]

Писать SetForegroundWindow при активизации тех форм, которые надо перекрывать, если показана та, которая д.б. сверху.


 
Mim1 ©   (2004-08-10 13:41) [10]


> [8] Кириешки ©   (10.08.04 13:18)

По умолчанию свойство visible у вновь созданой формы имеет значение false, когла вы применяете стиль формы fsmdichild это свойство (visible) получает значение true. Когда же вы восстанавливаете стиль (делаете fsNormal) свойство отвечающее за видимость не изменяется.

PS Свойство Visible не влияет на поведение главной формы. Для главной формы управлять видимостью можно при помощи application.showmainform.


 
Кириешки ©   (2004-08-10 14:20) [11]

Mim1 ©   (10.08.04 13:41) [10]

Пасиба!



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

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

Наверх




Память: 0.46 MB
Время: 0.038 c
3-1090850411
Manfred
2004-07-26 18:00
2004.08.22
AccessViolation при закрытии клиента


14-1091519680
DSKalugin
2004-08-03 11:54
2004.08.22
ВАКАНСИЯ!!!


1-1091666566
rosl
2004-08-05 04:42
2004.08.22
showmessage


1-1091515880
alless
2004-08-03 10:51
2004.08.22
TPanel & Canvas


3-1090987909
Ani
2004-07-28 08:11
2004.08.22
Как передать содержимое QuickRep в MsWord?





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