Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 08.10.2015
Сообщений: 11
1

Один обработчик для 9 кнопок

12.11.2015, 20:16. Показов 1723. Ответов 2

Author24 — интернет-сервис помощи студентам
Привет, ребята. Нужна Ваша помощь. Пишу небольшую обучающую программку. Вот в чем проблема. На форме имеется 9 кнопок, код для которых практически одинаковый. Меняется только цифра. Этот код для первой кнопки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm2::Button1Click(TObject *Sender)
{ if(Label1->Caption==""){
Label1->Caption=1;}
else {
Label1->Caption=1;}
if (Label1->Caption!=""){
Button1->Enabled=false;
Button2->Enabled=false;
Button3->Enabled=false;
Button4->Enabled=false;
Button5->Enabled=false;
Button6->Enabled=false;
Button7->Enabled=false;
Button8->Enabled=false;
Button9->Enabled=false;}
}
Вот в чём вопрос: Возможно ли как-нибудь создать один обработчик для этих девяти кнопок. Читала кое-что. Знаю, что можно использовать sender, но как?-я не могу разобраться.
Ребят, пожалуйста, помогите, кто знает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2015, 20:16
Ответы с готовыми решениями:

Один обработчик для 100 кнопок?
На форме есть 100 кнопок. Как сделать один раз для всех кнопок, чтобы не описывать нажатие для...

Один обработчик для нескольких Image
Ребят подскажите плиз как работать с обработчиками компонентов а то ни где инфы нет...

TMainMenu Один обработчик для нескольких пунктов
Всем доброго времени суток. Задача : Создать несколько подпунктов меню (лучше динамически) и...

Обработчик цыклически созданных кнопок
здравствуйте, у меня следующая проблема, во время создания формы создаются кнопки таки...

2
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
12.11.2015, 20:56 2
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
     for(int i=0; i < Form1->ComponentCount;i++)
     {
       if(Form1->Components[i]->ClassNameIs("TButton"))
      {
       ((TButton*)Form1->Components[i])->Enabled =CheckBox1->Checked?false:true;
      }
     }
}
//---------------------------------------------------------------------------
1
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2015, 13:56 3
C++
1
2
3
4
5
6
7
void __fastcall TForm2::Button1Click(TObject *Sender)
{
    TButton* ButtonX= dynamic_cast<TButton*>(Sender);
    if(!ButtonX) return;
 
    ButtonX->Enabled= false;
}
Для отличия одной кнопки от другой можно использовать ButtonX->Name или ButtonX->Tag
0
13.11.2015, 13:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2015, 13:56
Помогаю со студенческими работами здесь

Динамически создать 15 кнопок на форме и сделать общий обработчик OnClick
Здравствуйте, создаю 15 кнопок вот так: HWND hWnd = this-&gt;Handle; long hThisInstance =...

Один код для множества кнопок
Всем привет! Как использовать один код для множества кнопок? И при этом брать параметр из этой...

Один обработчик для динамических кнопок
Кнопки создаются/удаляются, и у них один OnClickListener. Но при нажатии, надо получить текст...

Один обработчик для нескольких кнопок
Вопрос: Как для калькулятора создать один обработчик для цифровых кнопок (0-9), чтобы для каждой...


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

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