Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
1

Создание массива контролов

26.10.2011, 18:20. Показов 2373. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как создать массив контролов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2011, 18:20
Ответы с готовыми решениями:

Создание контролов
Коллеги, подскажите как мне создать собственный контрол на Xaml ? <Button Content="Start Wpf"...

Создание свойств у контролов
Создал свой контрол на основе Button. Как можно у своего контрола создавать свойства, которые...

Динамическое создание контролов
Ну как так то??? public Form1() { InitializeComponent(); } ...

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

22
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
26.10.2011, 18:33 2
Цитата Сообщение от sannee Посмотреть сообщение
Как создать массив контролов?
руками

Добавлено через 30 секунд
в том плане что нужно прописать код вручную, тогда можно создать массив
0
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 18:45  [ТС] 3
Цитата Сообщение от Jupiter Посмотреть сообщение
в том плане что нужно прописать код вручную, тогда можно создать массив
а может и ногами???
Это блин и ежу понятно... дело в том что элемент управления создать как обычный динамический массив не получается...
Раньше писал на С#, щас решил немного изучить ООП C++ (консольные приложения уже давным давно писал, а потом начала писать на С# так как ООП мне показалось реализовано в нем намного проще )
а ты Jupiter лучше бы помого чем то а не вые**вался..
0
Заблокирован
26.10.2011, 18:47 4
Цитата Сообщение от sannee Посмотреть сообщение
а может и ногами???
Это блин и ежу понятно... дело в том что элемент управления создать как обычный динамический массив не получается...
Раньше писал на С#, щас решил немного изучить ООП C++ (консольные приложения уже давным давно писал, а потом начала писать на С# так как ООП мне показалось реализовано в нем намного проще )
а ты Jupiter лучше бы помого чем то а не вые**вался..
Я может быть и помог бы, но дело в том,что я не знаю,что такое "контрол", и тем более, что такое "массив контролов". И чем этот массив отличается от обычного массива в С или в С++?!
2
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 18:57  [ТС] 5
контрол - это элемент управления в С++(например TextBox, Label, Button)
0
Заблокирован
26.10.2011, 19:08 6
Цитата Сообщение от sannee Посмотреть сообщение
контрол - это элемент управления в С++(например TextBox, Label, Button)
Я вас разочарую, но в С++ никаких подобных контролов не существует!

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

Во-первых, вы не можете сфрмировать массив из элементов разного типа, так как в С++ массив - это агрегированный тип элементов одного типа.

Но вы могли бы сформировать массив из указателей на базовый класс, если все ваши классы имеют одинаковый открыто наследуемый базовый класс. Поэтому вам следует выяснить, имеется ли общий базовый класс у ваших классов, от которых они открыто наследуются.
1
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:12  [ТС] 7
а как же вот это...
Миниатюры
Создание массива контролов  
0
Заблокирован
26.10.2011, 19:16 8
Цитата Сообщение от sannee Посмотреть сообщение
а как же вот это...
Уточните, что вы хотели этим сказать?
0
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:19  [ТС] 9
хотел сказать то что на рисунке видно что, когда я создаю приложение Windows Form в Visual Studio то видно что все контролы есть... т.е. и TextBox и Button и я могу с ними работать.
0
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 5
26.10.2011, 19:20 10
Извените за флуд, но почему я не могу отправлять личные сообщения?
0
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:22  [ТС] 11
Цитата Сообщение от dewid Посмотреть сообщение
Извените за флуд, но почему я не могу отправлять личные сообщения?
создайте соответствующую тему
0
Заблокирован
26.10.2011, 19:22 12
Цитата Сообщение от sannee Посмотреть сообщение
хотел сказать то что на рисунке видно что, когда я создаю приложение Windows Form в Visual Studio то видно что все контролы есть... т.е. и TextBox и Button и я могу с ними работать.
Ну так это элементы управления Windows, упакованные в классы.Тем не менее это не есть элементы языка С++.
1
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:29  [ТС] 13
Цитата Сообщение от Сыроежка Посмотреть сообщение
Ну так это элементы управления Windows, упакованные в классы.Тем не менее это не есть элементы языка С++.
Извените, просто не правильно выразился

Добавлено через 2 минуты
Так, можете чем то помочь?
0
Заблокирован
26.10.2011, 19:30 14
Цитата Сообщение от sannee Посмотреть сообщение
Извените, просто не правильно выразился
Я вам уже подсказал, как это сделать. Нужно определить, от какого базового класса все эти элементы открыто наследуются, им создать соответственно массив указателей на базовый класс, проинициализировав их адресами ваших управляющих элементов. Это при условии, что базовый класс имеет виртуальный деструктор.
1
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:34  [ТС] 15
так много написали
а можете пример кода написать...
буду очень благодарен =)
0
Заблокирован
26.10.2011, 19:38 16
Цитата Сообщение от sannee Посмотреть сообщение
так много написали
а можете пример кода написать...
буду очень благодарен =)
C++
1
2
3
4
5
6
7
8
9
struct A {};
 
struct B: A {};
struct C: A {};
 
B b;
C c;
 
A *a[] = { &b, &c };
1
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:45  [ТС] 17
Цитата Сообщение от Сыроежка Посмотреть сообщение
struct A {};
struct B: A {};
struct C: A {};
B b;
C c;
A *a[] = { &b, &c };
[quote=Сыроежка;2107571]Код C++1
Т.е. вы хотите сказать что бы я для начала инициализировал все элементы управления, а потом их прописал в массиве.
А разве нельзя сделать наоборот, сначала проинициализировать массив, а потом каждый элемент в нем инициализировать?
как в C#
C#
1
Button[,] b = new Button[10];
а потом
C#
1
2
3
4
for(int i=0; i<10; i++)
{
b[i]=new Button();
}
0
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
26.10.2011, 19:49 18
можно.

C++
1
2
std::vector< имя контрола * > vec;
vec.push_back(new ...);
1
Просто хороший человек
391 / 181 / 24
Регистрация: 26.04.2011
Сообщений: 434
26.10.2011, 19:55  [ТС] 19
еще один вопрос: много ли людей занимаются ооп на С++ ?
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
26.10.2011, 20:43 20
Цитата Сообщение от sannee Посмотреть сообщение
много ли людей занимаются ооп на С++
ЩИТО, простите?
0
26.10.2011, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2011, 20:43
Помогаю со студенческими работами здесь

Динамическое создание контролов
Здравствуйте. Я начинающий программист. http://www.codemag.com/Article/0305101 Не могу выполнить...

Программное создание контролов
Вопрос к знатокам. Если на форме динамически создается индексированный набор контролов, например,...

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

Динамическое создание контролов
добрый день. динамически создаю 4 кнопки, и им присваиваю функцию btn_Click public void...


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

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