Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19

Реализация визуального редактора форм по аналогии с редактором C++ Builder

20.02.2016, 14:02. Показов 1839. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, уважаемые!
Предо мной встала задача реализаций редактора формы.
Как добавлять на форму контроллы?
Как Изменить размеры и расположения на форме?

Рассмотрю любые, советы примеры кода и ссылки по теме.
Спасибо!
Миниатюры
Реализация визуального редактора форм по аналогии с редактором C++ Builder  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2016, 14:02
Ответы с готовыми решениями:

Создание визуального редактора
Можно ли мне хотябы функцию которая определяет выделенный текст и менять его свойства: цвет,размер и шрифт. И использование html-кодов

Написание визуального HTML-редактора
Появилось желание написать простенький визуальный HTML редактор. Задумался над основным объектом- полем редактирования/рисования. Что...

Нет полноценного визуального редактора. Где он?
Установил тестовую интернет-магазина 1С-Битрикс. Начал изучать. Во всех уроках показан вот такой визуальный редактор: . У меня же,...

19
34 / 34 / 21
Регистрация: 22.09.2013
Сообщений: 401
20.02.2016, 16:02
Я честно говоря не совсем понял вопроса. Вам нужно при помощи кода добавлять всякие кнопочки на форму?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Создаем динамический обьект
TLabel *label = new TLabel(this);
//Задаем родителя
label->Parent = this;
//Выравниваем по левому краю
label->Left = 100;
//Выравниваем по верхнему краю
label->Top = 200;
//Ширина компонента
label->Width = 100;
//Высота
label->Height = 100;
//Выводим строку
label->Caption = "Строка";
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
20.02.2016, 16:56  [ТС]
Цитата Сообщение от Sluchayno Посмотреть сообщение
Я честно говоря не совсем понял вопроса. Вам нужно при помощи кода добавлять всякие кнопочки на форму?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Создаем динамический обьект
TLabel *label = new TLabel(this);
//Задаем родителя
label->Parent = this;
//Выравниваем по левому краю
label->Left = 100;
//Выравниваем по верхнему краю
label->Top = 200;
//Ширина компонента
label->Width = 100;
//Высота
label->Height = 100;
//Выводим строку
label->Caption = "Строка";
Да. При помощи кода. Аналог дизайнера форм Билдера со стандартными элементами Windows Form. Смотри пример на миниатюре выше.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
20.02.2016, 17:04
На Билдере делать редактор WinForms? Не самое продуманное решение.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
20.02.2016, 17:14  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
На Билдере делать редактор WinForms? Не самое продуманное решение.
Почему? Какие методы можно использовать?
WinForms только в самом редакторе а на выходе мне нужно с генерировать скрипт для встраиваемого GUI.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
20.02.2016, 17:17
Цитата Сообщение от Simn Посмотреть сообщение
Почему?
Потому что если бы нужно было сделать аналог Билдеровской/Дельфийской формошлепки - тогда для обращения к методам/свойствам объектов можно было бы использовать RTTI. А поскольку нужно .NET-овские контролы - то как к ним обращаться-то из нативного приложения? Вручную аналоги что-ли рисовать? И вручную все свойства прописывать? Слишком много никому не нужной работы.

Нужна формошлепка для .NET-контролов - используй один из .NET-языков.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
20.02.2016, 17:27  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Потому что если бы нужно было сделать аналог Билдеровской/Дельфийской формошлепки - тогда для обращения к методам/свойствам объектов можно было бы использовать RTTI. А поскольку нужно .NET-овские контролы - то как к ним обращаться-то из нативного приложения? Вручную аналоги что-ли рисовать? И вручную все свойства прописывать? Слишком много никому не нужной работы.

Нужна формошлепка для .NET-контролов - используй один из .NET-языков.
С чего взяли что .NET Нужен? С картинки выше? Это всего лишь пример внешнего вида редактора.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
20.02.2016, 17:41  [ТС]
Вот еще пример на Java надписано.
Миниатюры
Реализация визуального редактора форм по аналогии с редактором C++ Builder  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
20.02.2016, 21:31
Не надо показывать, на чем что написано. Ты покажи, что тебе нужно сделать. Какие контролы должна присутствовать возможность добавлять?
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
20.02.2016, 22:28  [ТС]
Вот контролы которые нужно добавлять TButton,TEdit,TLabel,TCheckBox,TRadioBut ton,TScrollBar,
TGroupBox,TImage,TProgressBar,TUpDown ,TTrackBar ,TShape

Нужно перетаскивать на форму и редактировать положение на форме и свойства.
0
34 / 34 / 21
Регистрация: 22.09.2013
Сообщений: 401
21.02.2016, 21:45
Simn
А вам не кажется абсурдной идее создавать свой редактор форм из под редактора форм?
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
21.02.2016, 21:54  [ТС]
Цитата Сообщение от Sluchayno Посмотреть сообщение
Simn
А вам не кажется абсурдной идее создавать свой редактор форм из под редактора форм?
Вы наверно не поняли что мне нужно или может я не достаточно изложил задачу.
Повторюсь. Мне нужно сделать визуальный дизайнер формы. Не знаю с чего начать и как реализовать.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
21.02.2016, 22:15
Sluchayno, это не абсурднее, чем писать операционную систему из-под операционной системы, не правда ли?

Simn, не лишним будет для начала проанализировать содержимое файлов любого проекта, тех, что хранят настройки проекта, параметры модулей - многие из них текстовые.
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
22.02.2016, 13:15  [ТС]
Все же вопрос остался открытым. Ни кто не занимался подобным проектом?
Просто у меня нету опыта писать сложные приложения под винду... А мне позарез нужен визуальный редактор для собственной библиотеки GUI... Как сделать элементы или имитаторы котроллов? Добавлять на форму или контейнер, двигать, редактировать и все это визуально?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
22.02.2016, 13:43
Цитата Сообщение от Simn Посмотреть сообщение
Ни кто не занимался подобным проектом?
Джедаи (я про JEDI VCL) занимались, и у них неплохо получилось, есть TJvInspector (инспектор объектов) и TJvDesign<всякие_разные> для дизайна в рантайме в стиле Что Видишь То Имеешь (What You See Is What You Get)... Спорить с джедаями смысла нет, лучше все равно не сделаешь, особенно когда
Цитата Сообщение от Simn Посмотреть сообщение
нету опыта писать сложные приложения под винду
, бери их библиотеку и используй ее.
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
22.02.2016, 14:03
Цитата Сообщение от Simn Посмотреть сообщение
Рассмотрю любые, советы примеры кода
... любые, так любые. Уважаемый volvo когда-то поделился ( Растягивание картинки мышью ) приемом модификации панелей в режиме реального времени. Можно попробовать применить его в этом случае. Конечно, "оч. просто" не получится. Я набросал небольшой примитив на некоторые компоненты. Идея такая: на модифицированной панели размещен компонент; по выбору из выпадающего меню (правая кнопка, на форме) в позиции курсора появляется компонент в состоянии Enabled-false, а фактически эта панель, на которой он размещен. Панель можно произвольно перемещать и менять размеры. Затем, когда необходимые компоненты расставлены, выбирается из меню "Фиксация" и компоненты становятся доступны, но менять размеры и перемещать уже нельзя (пока опять не изменить состояние Фиксации). Конечно, в таком виде это использовать нельзя, - понадобятся массивы, с которыми в дальнейшем и работать. Но для демонстрации идеи - сгодится.
Вложения
Тип файла: rar 74.RAR (169.5 Кб, 5 просмотров)
1
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
22.02.2016, 14:38  [ТС]
Спасибо большое! Уже близко) Еще вопрос: Как сделать контейнер в место панели, с параметрами(Left,Top,Width,Height,Captio n и.т.д) и в нем уже контрол? Возможно так?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
22.02.2016, 14:47
Конечно. У контрола есть "родитель". В моем примере это всегда Form1 - форма. Но "родителем" (анг. Parent) может быть также панель. Просто пишется: Edit1->Parent = Panel5; Edit1->Left = ...).
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 19
24.02.2016, 20:00  [ТС]
Ничего не получается... Весь интернет перерыл и ничего похожего не нашел...
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
25.02.2016, 10:00
Гм.. а как же JEDI VCL?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2016, 10:00
Помогаю со студенческими работами здесь

Как получить данные из визуального редактора ckeditor?
Здравствуйте! Не могу сообразить :dash1 , как получить данные из визуального редактора ckeditor http://ckeditor.com/demo Код...

Несоответствие содержимого визуального редактора и конечного окна
Сейчас изучаю qt. Просмотрел урок ]http://www.youtube.com/watch?v=x858_WCtl_Y. Там человек создает текстовый редактор, с начала с помощью...

GLscine, сделать объекту поведение из кода, а не из визуального редактора
Есть здесь, кто хорошо в GLscine? Короч Вот так Вот я создаю FreeForm: var o: TGLFreeForm; begin o :=...

Разработка win программы без визуального редактора (средствами API)
Нужно сделать программу без визуального редактора, так-то она сделана (не по заданию сделана, через визуальный редактор borland delphi), но...

Возможность абзацов при добавление комментариев без визуального редактора
Как сделать так, чтобы без визуального редактора, можно было бы добавлять текст, с учетом абзацев.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru