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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2013, 20:41   #1
narkot
Новичок
Джуниор
 
Регистрация: 30.10.2012
Сообщений: 1
Восклицание Запись массива компонентов в файл.

Здравствуйте дорогие форумчане! Прощу помощи в одном вопросе:
Имеется класс
Код:
using namespace System;
using namespace System::Windows::Forms;
ref class MyRichTextBox : public System::Windows::Forms::RichTextBox
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class MyPictureBox : public System::Windows::Forms::PictureBox
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class MyLabel : public System::Windows::Forms::Label
{
public: 
    bool canMove;
    int tab_number;
};
 
ref class structura
{
public:
    MyRichTextBox^ Richs;
    MyPictureBox^ Imgs;
    MyLabel^ Lbls;
};
В процессе выполнения создается массив из элементов данного класса
Код C++
1
masiv = gcnew array<structura^>(100);
и объявляются элементы массива
Код C++
Код:
ColR++; // увеличиваем количество созданных экземпляров данного класса
            masiv[ColR] = gcnew structura; // выделяем память для нового экземпляра
            masiv[ColR]->Richs = gcnew MyRichTextBox; // определяем тип экземпляра
            masiv[ColR]->Richs->Name = "Rich"+ ColR; // присваиваем имя экземпляру
            masiv[ColR]->Richs->Location = Point(100,100+ColR*20); // определяем положение 
            masiv[ColR]->Richs->Size = System::Drawing::Size( 400, 50 ); // определяем размер
            masiv[ColR]->Richs->ContextMenuStrip = this->contextMenuString; // привязываем контекстное меню
            masiv[ColR]->Richs->Visible=true; // устанавливаем видимость
            masiv[ColR]->Richs->canMove = false;
            // подписываемся на события
            this->masiv[ColR]->Richs->MouseDown += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseDown);
            this->masiv[ColR]->Richs->MouseMove += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseMove);
            this->masiv[ColR]->Richs->MouseUp += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::richTextBox1_MouseUp);
            this->masiv[ColR]->Richs->Click += gcnew System::EventHandler(this, &Form1::richTextBox1_Click);
            //
            tabControl1->SelectedTab->Controls->Add(masiv[ColR]->Richs); // размещаем компонент на активной вкладке
Проблема в том, что мне необходимо сохранить данный массив в файл, а после загрузить.
Нашел решение данной проблемы на Delphi и Builder, но в студийный вариант перевести не смог
Пример на Delphi
Код Delphi
Код:
procedure TForm1.StoreClick(Sender: TObject);
var
  W: TWriter;
begin
  W := TWriter.Create(
    TFileStream.Create('c:\source\delphi\example.dob', fmCreate), 4096);
  W.WriteSignature;
  W.WriteComponent(Spin);
  W.Free;
end;
 
procedure TForm1.LoadClick(Sender: TObject);
var
  R: TReader;
begin
  R := TReader.Create(
    TFileStream.Create('c:\source\delphi\example.dob', fmOpenRead), 4096);
  Spin := R.ReadRootComponent(nil) as TSpinner;
  Spin.Top := 0;
  Spin.Left := 0;
  Spin.Parent := Self;
  InsertComponent(Spin);
  R.Free;
end;
Может кто сталкивался с подобным ?

Последний раз редактировалось Stilet; 24.03.2013 в 22:14.
narkot вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись массива в файл Стремящийся Общие вопросы по Java, Java SE, Kotlin 12 26.06.2012 16:19
Запись массива в файл WIN32APIist Общие вопросы C/C++ 5 03.01.2011 01:38
Запись двумерного массива в файл rusasha Паскаль, Turbo Pascal, PascalABC.NET 7 03.05.2010 14:03
запись массива в файл lel-lis Общие вопросы C/C++ 6 25.01.2010 17:46
запись массива в файл Владимир1988 Помощь студентам 3 19.01.2010 09:25