Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Добавление элементов в режиме реального времени


Автор: Sapfeer 17.12.2006, 02:46
Доброй ночи! Можно ли в процессе выполнения программа добавлять в форму новые компоненты и редактировать их свойства через созданный интерфейс? В данном случае мне необходимо интерактивно создавать ячейки таблицы и редактировать в них информацию... Каким образом это можно реализовать?

Извиняюсь, ошибся темой, не заметил раздел Центр помощи

Автор: Link90 17.12.2006, 10:48
Компоненты - динамическое создание

Взято с www.sources.ru
Автор: OlegGG

Например, так:

Код

for (int i=0;i<5;i++)
        {
        TEdit *edit = new TEdit(this);
        edit->Parent = this;
        edit->Name = "edit"+AnsiString(i);
        edit->Height = 16;
        edit->Width = 104;
        edit->Left = 0;
        edit->Top = i*edit->Height;
        edit->Text = AnsiString(i);
        }

Этот код создаст 5 TEdit'ов.
Обращатся к ним можно так (по имени):
Код

for (int i=0;i<5;i++)
        {
        TEdit *edit = (TEdit*)FindComponent("edit"+AnsiString(i));
        edit->Text = "www.sources.ru";
        }

Или совершенно другой вариант - использование массива:
Код

TEdit *edit[5];

for (int i=0;i<5;i++)
        {
        edit[i] = new TEdit(this);
        edit[i]->Parent = this;
        edit[i]->Name = "edit"+AnsiString(i);
        edit[i]->Height = 16;
        edit[i]->Width = 104;
        edit[i]->Left = 0;
        edit[i]->Top = i * edit[i]->Height;
        edit[i]->Text = AnsiString(i);
        }

for (int i=0;i<5;i++)
        {
        edit[i]->Text = "www.sources.ru";
        } 


Хотя эта тема не раз обсуждалась на форуме, пользуйтесь поиском!

Автор: Sapfeer 17.12.2006, 15:54
Спасибо за информацию!
А если сделать компонент элементом списка, т.е. элементом класса, какие тут могут возникнуть трудности?

Искал по форуму "Компоненты в классах" - ни одного ответа...

Автор: Anikmar 17.12.2006, 23:57
Цитата

А если сделать компонент элементом списка, т.е. элементом класса, какие тут могут возникнуть трудности?


Элемент списка - это элемент структуры ДАННЫХ класса, но ни как элемент класса

Автор: Sapfeer 18.12.2006, 01:00
Да... Это так, я ошибся в определениях. Вообщем если при добавлении элемента списка, в форму добавлять и компонент, т.е. сделать его элементом структуры данных класса - какие тут могут быть подводные камни?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)