Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2013, 21:46   #1
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию Как сделать массив Edit-ов (MFC) ?

Доброго времени суток, в программе нужно реализовать массив едитов, как сделать не могу понять, помню в делфи делал, а visual C++ 2012 не могу(пользуясь MFC)...Подскажите как реализуется)
Тёма_) вне форума Ответить с цитированием
Старый 18.01.2013, 22:50   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

массив эдитов не получится - для всех mfc-контролов запрещено делать их копии. вот массив указателей - леххко:

CEdit* arr[] = { &m_edit1, &m_edit2, &m_edit3 };
Rififi вне форума Ответить с цитированием
Старый 18.01.2013, 22:55   #3
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

ну т.е на форме они норм будут рисоваться?
а объявить m_edit-ты как?
Тёма_) вне форума Ответить с цитированием
Старый 18.01.2013, 23:10   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

на форму контролы помещаются в дизайнере
там же можно привязать их к переменным
Rififi вне форума Ответить с цитированием
Старый 18.01.2013, 23:24   #5
Тёма_)
Пользователь
 
Регистрация: 12.11.2011
Сообщений: 68
По умолчанию

неее я а хочу произвольное колличество едитов сделать через массив)) т.к сначала пользователь вводит колличество едитов, потом заносит информацию и далее все там рисуется и рассчитывается...
вот пример в делфи)
Код:
Var K: Integer;

EditArray: Array[0..99] of Tedit;
begin
Try

For K:= 0 to 99 do 
begin
EditArray[K]:= TEdit.Create(Self);
EditArray[K].Parent:= Self;
SetSomeOtherPropertiesOfTEdit; {Устанавливаем необходимые свойства TEdit}
Left:= 100; Top:= K*10;
OnMouseMove:= WhatToDoWhenMouseIsMoved; {Что-то делаем при перемещении мыши}
end;
и т.д
вот что то вроде этого (код на делфи не мой, но реализацию у меня примерна такая же была, свой хз где очень давно писал)
Тёма_) вне форума Ответить с цитированием
Старый 18.01.2013, 23:42   #6
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

делаешь примерно также

size_t N; // получаешь количество эдитов

std::vector<CEdit*> ctrl;
for (size_t i=0; i<N; i++)
{
CEdit* p = new CEdit();
p->Create(...); // см. документацию
ctrl.push_back(p);
}

в конце работы
for (auto it=ctrl.begin(); it != ctrl.end(); ++it)
{
(*it)->DestroyWindow();
delete *it;
}
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно сделать Edit в фокусе? Dux Общие вопросы Delphi 4 08.10.2011 11:45
Как сделать в Edit Ввод только чисел Pashin Компоненты Delphi 17 26.07.2011 21:12
Как сделать прозрачный edit? TwiX Общие вопросы Delphi 12 16.06.2011 08:48
MFC: как передать фокус елементу управления "edit" ? umnick Visual C++ 2 02.11.2008 18:45
Как сделать Label/StaticText в MFC? Ceprey Visual C++ 5 11.03.2008 23:28