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


Автор: usver 16.10.2009, 10:39

M
dumb
usver, название темы должно быть осмысленным и отражать суть вопроса.


Доброго всем времени суток, помогите разобраться ....
предположим на форме имеются 6 кнопок(не видимых) Кнопка1, Кнопка2 .... Кнопка6, в поле вводится число и кнопка с таким числом становится видимой.
не могу понять как именно обратится к нужной кнопки, не писать же 6 одинаковых блоков, грубо говоря как оптимизировать вот такой код ...
......
Код

Select (n)
 case 1 // действие с кнопкой1
 case 2 // действие с кнопкой2
........
........
........
 case 6 // действие с кнопкой6

Автор: 586 16.10.2009, 10:47
Код
int iVisibleButton = 2;  // номер кнопки, которую нужо показать

for(int i = 1; i <= 6; ++i)
{
    if(TButton *b = dynamic_cast<TButton*>(FindComponent(String("Button")+i)))
        b->Visible = false;
}

if(TButton *b = dynamic_cast<TButton*>(FindComponent(String("Button")+iVisibleButton)))
    b->Visible = true;

или так:
Код
int iVisibleButton = 2-1;
TButton *buttons[] = {Button1, Button2, Button3, Button4, Button5, Button6};

for(int i = 0; i < (sizeof(b)/sizeof(b[0])); ++i)
        buttons[i]->Visible = false;

buttons[iVisibleButton] = true;

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