Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оконное приложение, модальность или немодальность 
:(
    Опции темы
man2002ua
Дата 29.10.2003, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



1) Существует основное окно приложения MAIN с двумя пунктами меню M1 и М2;
2) на щелчок на пункт М1 показывается окно WIN1, на пункт М2 - WIN2;
- возможно переключение между WIN1 и WIN2
3) на WIN1 - есть кнопка, по которой открывается окно WIN11 (модальное для WIN1)
- ТЕПЕРЬ ВАЖНО: хочу добиться, чтобы переключение между WIN11 и WIN2 было возможным и при этом между WIN1 и WIN11 - нет.
- и чтобы была возможность выбирать пункты меню окна MAIN

Пробовал, не получается - никогда такого не делал (только в Clarione)... хелп :-(


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
SmaLL
Дата 29.10.2003, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 557
Регистрация: 17.12.2002
Где: Voronezh

Репутация: 1
Всего: 2



Тоже такого не делал, но есть вариант, можешь попробовать

WIN11 не как модальное, а как обычное окно, но в WIN1 в событии OnActivate (может ещЁ в каком-то) выводить наверх WIN11 если оно было открыто.
Надеюсь мысль ясна.


--------------------
Что ни делается - всЁ к лучшему! SmallWeb
Мой адрес не дом и не улица, мой адрес родной пивзавод!
PM MAIL WWW ICQ   Вверх
man2002ua
Дата 29.10.2003, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



мысль ясна, но хотелось бы послушать и др. варианты smile.gif


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
<Spawn>
Дата 29.10.2003, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



man2002ua есть вариант такой - на OnCreate WIN11 ставь EnableWindow(WIN1.Handle, False),
на закрытие EnableWindow(Form2.Handle, True). (За место его модальности)

Это сообщение отредактировал(а) <Spawn> - 29.10.2003, 11:16


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
man2002ua
Дата 29.10.2003, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



SmaLL, в твоем варианте окно WIN1 можно будет двигать, так что вариант <Spawn> наиболее соотв. нуждам.

Спасибо всем!


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
AntonSaburov
Дата 29.10.2003, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Хорошо помню, что можно было окно сделать неактивным. Вот, нашел. Посмотри. Можно этим поиграть. Message WS_DISABLED.

Disabled Windows

A window can be disabled. A disabled window receives no keyboard or mouse input from the user, but it can receive messages from other windows, from other applications, and from the system. An application typically disables a window to prevent the user from using the window. For example, an application may disable a push button in a dialog box to prevent the user from choosing it. An application can enable a disabled window at any time; enabling a window restores normal input.

By default, a window is enabled when created. An application can specify the WS_DISABLED style, however, to disable a new window. An application enables or disables an existing window by using the EnableWindow function. The system sends a WM_ENABLE message to a window when its enabled state is about to change. An application can determine whether a window is enabled by using the IsWindowEnabled function.

When a child window is disabled, the system passes the child's mouse input messages to the parent window. The parent uses the messages to determine whether to enable the child window. For more information, see Mouse Input.

Only one window at a time can receive keyboard input; that window is said to have the keyboard focus. If an application uses the EnableWindow function to disable a keyboard-focus window, the window loses the keyboard focus in addition to being disabled. EnableWindow then sets the keyboard focus to NULL, meaning no window has the focus. If a child window, or other descendant window, has the keyboard focus, the descendant window loses the focus when the parent window is disabled. For more information, see Keyboard Input.


PM MAIL WWW ICQ   Вверх
man2002ua
Дата 29.10.2003, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



AntonSaburov, дык, это то же самое, что <Spawn> предложил...


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.