Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45

Динамическое создание формы

23.11.2013, 23:09. Показов 3863. Ответов 19

Студворк — интернет-сервис помощи студентам
Можно ли программно создать новую оригинальную форму?
(не копию уже имеющейся в проекте)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2013, 23:09
Ответы с готовыми решениями:

Динамическое создание объектов формы в Visual Basic 6
Месяц назад решил изучить Visual basic 6. И вот встал перед задачей: Предположим, на форме есть одна кнопка. Нужно, что бы при нажатии на...

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

Динамическое создание формы
вот например мне надо динамически создать новою TForm1 и обязательно присвоить событию oncreate другое,так как в основном есть открывание...

19
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
23.11.2013, 23:55
Цитата Сообщение от chai_nick Посмотреть сообщение
Можно ли программно создать новую оригинальную форму?
Что имеешь ввиду под "оригинальностью"? Создавай пустую форму и размещай на ней контролы програмно.
0
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
23.11.2013, 23:58  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Создавай пустую форму
Ок, тогда так: можно ли создать пустую форму программно, если в проекте нет пустой формы? Если можно, то как?
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
24.11.2013, 00:36
Цитата Сообщение от chai_nick Посмотреть сообщение
Ок, тогда так: можно ли создать пустую форму программно, если в проекте нет пустой формы? Если можно, то как?
Можно создать через CreateWindowEx, но лучше этого не делать. Для чего ты хочешь создавать форму с нуля?
При создании экземпляра объекта, нужен класс, описывающий объект. Класса нет, объект создать невозможно
1
Заблокирован
24.11.2013, 07:46
пример MDI загрузки:

Visual Basic
1
2
Load Form1(x)
Form1(x).visible = true
или

Set Frm2 as new Form1
Frm2.visible=true // Frm2.show

Frm2 будет копией но со своими событиями, методами и классами
которые легко изменяются (программно)

массив из 256 форм

dim myFrms(255) as new Form1

Закрытие всех форм

Visual Basic
1
2
3
for i=frm.count to 0 step -1
    unload frm(i)
next
1
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
24.11.2013, 10:15
JoraVoenyjHaker, Ему надо создать форму так,чтобы ее не было в проекте.
0
24.11.2013, 10:33

Не по теме:

Вот... кто-нибудь наберёт в гугле Динамическое создание формы
и найдет моё толковое объяснение )))

0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
24.11.2013, 10:48
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
Set frm = Forms.Add("Form1")
имея имя в наличии
2
Заблокирован
24.11.2013, 11:01
Цитата Сообщение от The trick Посмотреть сообщение
Set frm = Forms.Add("Form1")
Коллекция ?
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
24.11.2013, 11:03
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Коллекция ?
Ну да; в ней хранится список загруженных форм.
0
Заблокирован
24.11.2013, 11:06
Ну да... и это работает
Visual Basic
1
2
3
4
5
6
Sub main()
    Dim frm As Form
    Set frm = Forms.Add("Form1")
    frm.Show
 
End Sub
1
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
28.11.2013, 19:51  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Можно создать через CreateWindowEx, но лучше этого не делать.
Почему?

Добавлено через 5 минут
Цитата Сообщение от The trick Посмотреть сообщение
Для чего ты хочешь создавать форму с нуля?
Почему-то моя наивная рационалистская душонка протестует против включения в проект форм, которые могут понадобиться только в редких случаях
Например, 'форма ввода пароля' (спрошу в отдельной теме)
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
28.11.2013, 19:56
Цитата Сообщение от chai_nick Посмотреть сообщение
Почему?
Потому что тебе тогда самому надо будет писать обработку сообщений.
Цитата Сообщение от chai_nick Посмотреть сообщение
Почему-то моя наивная рационалистская душонка протестует против включения в проект форм, которые могут понадобиться только в редких случаях
Например, 'форма ввода пароля' (спрошу в отдельной теме)
Ну включай по мере необходимости, в этом нет ничего плохого.
0
Заблокирован
28.11.2013, 20:10
Вообще можно одну форму миллион раз запускать по разному и копировать и изменять

Добавлено через 2 минуты
Можно устроить так чтоб огромное количество диалоговых окон с дополнительными кнопками
и картинками, это была одна и таже форма, и всё это реализуется очень легко

Добавлено через 8 минут
Я например храню список кнопок гденибудь в ресурсе
и подгружаю
пример:
Caption=Прозрачность // x=150 // y=100 // w=20 // h=40
Caption=Далее // x=150 // y=200 // w=20 // h=40

и так со всеми компонентами если я хочу использовать одну форму...
но и множество форм мне никак не мешает...
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
28.11.2013, 20:12
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
если я хочу использовать одну форму
Когда возникает такая необходимость и для чего это?
0
Заблокирован
28.11.2013, 20:21
Я где-то пример делал калькулятор одна кнопка 12 раз продублировалась
в разных местах и разными названиями...
вообще если проявить чуток изобретательности, то виликие чудеса можно делать на бейсике

Добавлено через 6 минут
Цитата Сообщение от The trick Посмотреть сообщение
Когда возникает такая необходимость и для чего это?
Иногда возникает, когда есть затруднения в передачи параметров или событий
между формами, тогда проще сделать одну форму SDI-интерфейс
со скрытыми объектами
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
28.11.2013, 20:21
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я где-то пример делал калькулятор одна кнопка 12 раз продублировалась
в разных местах и разными названиями...
Массив контролов - это понятно, много где может пригодится (если характеристики общие). Но заполнять вручную форму контролами без видимой причины (для имитации нескольких форм) - это изврат. Для чего тогда визуальная среда? Если уж нравится, то можно вообще цикл обработки (GetMessage и т.п.) поставить в цикле, в процедуре Main и обойтись вообще без каких-либо ресурсов. Но главный вопрос - зачем?
0
Заблокирован
28.11.2013, 20:23
Но я ещё раз повторяю, что и множеством различных форм, под разные задачи
в одном проекте я тоже охотно пользуюсь
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
28.11.2013, 20:24
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Иногда возникает, когда есть затруднения в передачи параметров или событий
между формами, тогда проще сделать одну форму SDI-интерфейс
со скрытыми объектами
Можно написать что-то типа SendMessage и рассылать параметры куда угодно, или сделать публичные свойства у форм, в конце концов CallByName.
0
Заблокирован
28.11.2013, 20:36
Но не люблю я с API связываться, боюсь запутаться в этих дебрях
бейсик то я более-менее знаю, а вот API это тёмный лес... но вот когда
придёт ко мне просветление тогда и с WinApi буду извращаться )))

Добавлено через 1 минуту
CallByName это и то надо публичные процедуры-переменные создовать
чтоб вызывать их потом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2013, 20:36
Помогаю со студенческими работами здесь

Динамическое создание формы
Всем привет. Возникла проблема при динамическом создании новой формы: На Form1 есть кнопка при нажатии которой создается Form2. Так же...

Динамическое создание формы
Здравствуйте, помогите написать приложение, где на форме есть кнопка «создать форму», которая динамически создает очередную форму. При...

Динамическое создание формы
Добрый день. Подскажите пожалуйста, можно-ли в Delphi динамически создавать форму, естественно с компонентами. И кто у формы родитель?

Динамическое создание формы
Подскажите плиз, как динамически создавать форму. По задаче - у меня есть форма, на ней кнопки, меню... При нажатии на определённую...

Динамическое создание формы
Требуется через js отправить пользователя с пост запросом, адрес статичный но поля нет, (пользователь жмёт на кнопку, идёт запрос на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru