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

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

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

Author24 — интернет-сервис помощи студентам
Можно ли программно создать новую оригинальную форму?
(не копию уже имеющейся в проекте)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2013, 23:09
Ответы с готовыми решениями:

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

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

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

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

19
Модератор
9885 / 3792 / 876
Регистрация: 22.02.2013
Сообщений: 5,659
Записей в блоге: 78
23.11.2013, 23:55 2
Цитата Сообщение от chai_nick Посмотреть сообщение
Можно ли программно создать новую оригинальную форму?
Что имеешь ввиду под "оригинальностью"? Создавай пустую форму и размещай на ней контролы програмно.
0
3 / 3 / 1
Регистрация: 22.06.2013
Сообщений: 45
23.11.2013, 23:58  [ТС] 3
Цитата Сообщение от The trick Посмотреть сообщение
Создавай пустую форму
Ок, тогда так: можно ли создать пустую форму программно, если в проекте нет пустой формы? Если можно, то как?
0
Модератор
9885 / 3792 / 876
Регистрация: 22.02.2013
Сообщений: 5,659
Записей в блоге: 78
24.11.2013, 00:36 4
Цитата Сообщение от chai_nick Посмотреть сообщение
Ок, тогда так: можно ли создать пустую форму программно, если в проекте нет пустой формы? Если можно, то как?
Можно создать через CreateWindowEx, но лучше этого не делать. Для чего ты хочешь создавать форму с нуля?
При создании экземпляра объекта, нужен класс, описывающий объект. Класса нет, объект создать невозможно
1
Заблокирован
24.11.2013, 07:46 5
пример 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
Модератор
9885 / 3792 / 876
Регистрация: 22.02.2013
Сообщений: 5,659
Записей в блоге: 78
24.11.2013, 10:15 6
JoraVoenyjHaker, Ему надо создать форму так,чтобы ее не было в проекте.
0
JoraVoenyjHaker
24.11.2013, 10:33
  #7

Не по теме:

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

0
Модератор
9885 / 3792 / 876
Регистрация: 22.02.2013
Сообщений: 5,659
Записей в блоге: 78
24.11.2013, 10:48 8
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
Set frm = Forms.Add("Form1")
имея имя в наличии
2
Заблокирован
24.11.2013, 11:01 9
Цитата Сообщение от The trick Посмотреть сообщение
Set frm = Forms.Add("Form1")
Коллекция ?
0
Модератор
9885 / 3792 / 876
Регистрация: 22.02.2013
Сообщений: 5,659
Записей в блоге: 78
24.11.2013, 11:03 10
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
Коллекция ?
Ну да; в ней хранится список загруженных форм.
0
Заблокирован
24.11.2013, 11:06 11
Ну да... и это работает
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  [ТС] 12
Цитата Сообщение от The trick Посмотреть сообщение
Можно создать через CreateWindowEx, но лучше этого не делать.
Почему?

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

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

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

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

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

Добавлено через 1 минуту
CallByName это и то надо публичные процедуры-переменные создовать
чтоб вызывать их потом
0
28.11.2013, 20:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2013, 20:36
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru