Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,528
Записей в блоге: 22

Модальность формы при запуске

16.05.2021, 13:26. Показов 1653. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не смог понять. После события Form_Load() появляется собственно форма, но она модальна или нет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2021, 13:26
Ответы с готовыми решениями:

Проверка формы на модальность
Помогите прлиззззззззззззз!!! Возможно ли как нить при помощи условий выяснить какая форма проекта является модальной, ну что нить...

Как открыть при запуске две формы одновременно
Подскажите возможно или нет открыть при запуске программы 2 формыMDI одновременно не используя Timer? Если да хотелось бы взглянуть на код....

Как отменить модальность формы?
Работа в VBA с Excel При нажатием кнопки ВЫХОД на первой форме она закрывается и открывается вторая: Private Sub...

6
 Аватар для Rh2Dark
32 / 32 / 0
Регистрация: 05.11.2020
Сообщений: 102
17.05.2021, 10:06
Всегда думал, что форма появляется на событие Activate, а при Load она еще грузится в оперативку.
Ну и понятие модальности, оно завсегда учитывается относительно чего-то. Например, дочерняя модальная форма имеет модальность относительно родительской. А если форма одна, тогда относительно чего ей быть модальной? Тут надо подумать
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,528
Записей в блоге: 22
17.05.2021, 11:58  [ТС]
Цитата Сообщение от Rh2Dark Посмотреть сообщение
Всегда думал, что форма появляется на событие Activate
Цитата Сообщение от Argus19 Посмотреть сообщение
После события Form_Load()

Цитата Сообщение от Rh2Dark Посмотреть сообщение
Тут надо подумать
И я так думаю.
Поставил в событии Form_Load()
Visual Basic
1
    Form1.Show vbModal
но, думаю, что это не корректно.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
17.05.2021, 15:29
Цитата Сообщение от Argus19 Посмотреть сообщение
Поставил в событии Form_Load()
Visual BasicВыделить код
1
    Form1.Show vbModal
У вас всего 1 форма? Тогда в чем смысл её модальности?
В проекте должно быть минимум 2 формы, где вторая может быть модальной, изначально она невидимая.
Form_Load() вообще лишнее. Из родительской формы вызываем Form2.Show vbModal или Form2.Show (1)
по любому событию, например клику по кнопке. Пока форма открыта, родитель недоступен до закрытия Form2.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,528
Записей в блоге: 22
17.05.2021, 18:47  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
В проекте должно быть минимум 2 формы
Так и есть. Основная форма должна быть модальной, чтобы исполнялся только код из неё. Вторая форма для картинок и сделана поверх всех окон. Смущает применение константы
Visual Basic
1
Private Const SWP_NOMOVE = &H2
судя по названию, она должна блокировать движение формы, а у меня двигается.
Ищу проблемы "замерзания" второй формы в процессе работы.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
17.05.2021, 19:19
Цитата Сообщение от Argus19 Посмотреть сообщение
Основная форма должна быть модальной, чтобы исполнялся только код из неё.
Вы неверно понимаете термин "модальная". Модальная форма блокирует работу пользователя с родительским приложением до тех пор, пока пользователь это окно не закроет.
Вы неправильно понимаете флаг SWP_NOMOVE. Он сохраняет текущую позицию (игнорирует X и Y параметры) при вызове SetWindowPos. Мышкой или другим способом такое окно конечно же можно двигать.

Добавлено через 8 минут
Цитата Сообщение от Argus19 Посмотреть сообщение
Ищу проблемы "замерзания" второй формы в процессе работы.
Вам нужно заморозить форму на время работы с первой формой? дайте команду Form2.Enabled = False
В совокупности с командой "всегда сверху" вторая форма будет стоять как вкопанная.
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,528
Записей в блоге: 22
17.05.2021, 19:38  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Он сохраняет текущую позицию (игнорирует X и Y параметры)
Да. Я посмотрел. Эта константа используется совместно с константой SWP_NOSIZE , которая "Сохраняет координаты текущего окна", но про игнорирование X и Y не сказано. При добавлении константы SWP_SHOWWINDOW начинают одновременно работать два окна: "замёрзшее" с чёрным фоном и двигается, как и должно быть, прозрачное окно.
При применении вместо HWND_TOPMOST флага HWND_TOP, при запуске из IDE пропадают обе формы.
Чудеса какие-то. Вот и ищу, что может мешать задуманной логике работы. Установка фокуса на вторую форму не помогает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2021, 19:38
Помогаю со студенческими работами здесь

Автозакрытие Excel-я при запуске формы
Скажите пожалуйста как сделать чтобы при открытии программы автоматически закрывалась книга экселя?

Выделение текста в TextBox при запуске МОДАЛЬНОЙ формы
Здравствуйте! Столкнулся со следующей проблемой. Имеются две одинаковые формы, единственное отличие в них - одна форма модальная (т....

Инициализация немодальной пользовательской формы при запуске файла
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, вычислить, что не так с открытием файла. Суть файла в том, что на первом листе...

Скрыть книгу Excel при запуске и отображение формы авторизации
Доброе время суток! Прошу у Вас помощи либо совета. Вопрос заключается в следующем, есть книга Excel для обслуживания некой БД, в ней...

Хочу сделать, чтобы при повторном запуске пользовательской формы в ней сохранялись результати последней сесии
привет нужна ваша помощь хочу сделать, чтобы при повторном запуске пользовательской формы в ней сохранялись результати последней...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru