Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как создать массив из кнопок, чтобы каждая была элю массива

1.9K
26 апреля 2003 года
vpdt
34 / / 26.04.2003
Как создать массив из кнопок, чтобы каждая была элю массива
На пример 15 кнопок и они задействованы в цикле или другое.
Заранее благодарен
2.4K
26 апреля 2003 года
Admin_Locky
16 / / 02.04.2003
Цитата:
Originally posted by vpdt
Как создать массив из кнопок, чтобы каждая была элю массива
На пример 15 кнопок и они задействованы в цикле или другое.
Заранее благодарен



что-то типа:

TButton myBut[10];

for (int i=0;i<9;i++)
{
myBut = new TButton(..);
}

как только будет Билдер под рукой - могу написать работающий пример

451
27 апреля 2003 года
Gerret
51 / / 20.05.2000
В принципе это делается так:
Код:
//В файле Unit1.h
class TForm1 : public TForm
{
  __published:  // IDE-managed Components
    TButton *Button1;
    void __fastcall Button1Click(TObject *Sender);
  private:  // User declarations
  public:   // User declarations
        TButton *MyButtons[15];
        __fastcall TForm1(TComponent* Owner);
};
//В файле Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  for(int i = 0;i < 15;i++)
  {
    MyButtons = new TButton(Owner);
    MyButtons->Parent = Form1;
    MyButtons->Left = i * 20;
    MyButtons->Top = 0;
    MyButtons->Height = 20;
    MyButtons->Width = 20;
  }
}


т.е. при нажатии кнопки Button1 у тя сверху на форме будут рисоваться 15 кнопок размером 20х20
1.9K
27 апреля 2003 года
vpdt
34 / / 26.04.2003
Цитата:
Originally posted by Gerret
В принципе это делается так:
Код:
//В файле Unit1.h
class TForm1 : public TForm
{
  __published:  // IDE-managed Components
    TButton *Button1;
    void __fastcall Button1Click(TObject *Sender);
  private:  // User declarations
  public:   // User declarations
        TButton *MyButtons[15];
        __fastcall TForm1(TComponent* Owner);
};
//В файле Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  for(int i = 0;i < 15;i++)
  {
    MyButtons = new TButton(Owner);
    MyButtons->Parent = Form1;
    MyButtons->Left = i * 20;
    MyButtons->Top = 0;
    MyButtons->Height = 20;
    MyButtons->Width = 20;
  }
}


т.е. при нажатии кнопки Button1 у тя сверху на форме будут рисоваться 15 кнопок размером 20х20


Спасибо за помощь это мне пригодится, но у меня загвоздка :) 15 кнопок у меня уже есть, как мне их обработать в массиве? В вашем примере они создаются все время заново, а у меня они уже имеют свойство и каждая кнопка разное.
Вот и как мне объеденить несколько кнопок в массив?
А за помощь спасибо:)

451
27 апреля 2003 года
Gerret
51 / / 20.05.2000
Цитата:
Originally posted by vpdt

Спасибо за помощь это мне пригодится, но у меня загвоздка :) 15 кнопок у меня уже есть, как мне их обработать в массиве? В вашем примере они создаются все время заново, а у меня они уже имеют свойство и каждая кнопка разное.
Вот и как мне объеденить несколько кнопок в массив?
А за помощь спасибо:)



В таком случае надо создать массив указателей на кнопки

 
Код:
TButton *MyButtons[15];
  MyButtons[0] = (TButton *)Button1;
  MyButtons[1] = (TButton *)Button1;
  ...
  MyButtons[14] = (TButton *)Button15;


И при этом все изменения которые ты будешь делать с элементами массива будут применятся к реальным кнопкам.
MyButtons[0]->Caption = "Hellow World"; тоже самое что Button1->Caption = "Hellow World"; :D

я мог где-нить ошибится :), я не проверял... но вообще должно быть правильно...
1.9K
28 апреля 2003 года
vpdt
34 / / 26.04.2003
Огромное спасибо:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог