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

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

23.11.2013, 23:09. Показов 3828. Ответов 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
23.11.2013, 23:55
Цитата Сообщение от chai_nick Посмотреть сообщение
Можно ли программно создать новую оригинальную форму?
Что имеешь ввиду под "оригинальностью"? Создавай пустую форму и размещай на ней контролы програмно.
0
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
23.11.2013, 23:58  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Создавай пустую форму
Ок, тогда так: можно ли создать пустую форму программно, если в проекте нет пустой формы? Если можно, то как?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
24.11.2013, 10:15
JoraVoenyjHaker, Ему надо создать форму так,чтобы ее не было в проекте.
0
24.11.2013, 10:33

Не по теме:

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

0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
28.11.2013, 20:12
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
если я хочу использовать одну форму
Когда возникает такая необходимость и для чего это?
0
Заблокирован
28.11.2013, 20:21
Я где-то пример делал калькулятор одна кнопка 12 раз продублировалась
в разных местах и разными названиями...
вообще если проявить чуток изобретательности, то виликие чудеса можно делать на бейсике

Добавлено через 6 минут
Цитата Сообщение от The trick Посмотреть сообщение
Когда возникает такая необходимость и для чего это?
Иногда возникает, когда есть затруднения в передачи параметров или событий
между формами, тогда проще сделать одну форму SDI-интерфейс
со скрытыми объектами
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
28.11.2013, 20:21
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Я где-то пример делал калькулятор одна кнопка 12 раз продублировалась
в разных местах и разными названиями...
Массив контролов - это понятно, много где может пригодится (если характеристики общие). Но заполнять вручную форму контролами без видимой причины (для имитации нескольких форм) - это изврат. Для чего тогда визуальная среда? Если уж нравится, то можно вообще цикл обработки (GetMessage и т.п.) поставить в цикле, в процедуре Main и обойтись вообще без каких-либо ресурсов. Но главный вопрос - зачем?
0
Заблокирован
28.11.2013, 20:23
Но я ещё раз повторяю, что и множеством различных форм, под разные задачи
в одном проекте я тоже охотно пользуюсь
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru