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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2017, 16:04   #1
Ирина+
Новичок
Джуниор
 
Регистрация: 24.07.2017
Сообщений: 2
Вопрос Группировка кнопок

Подскажите пожалуйста, как лучше сгруппировать кнопки 1, 2, 3 и 6, 7, 8, чтобы не прописывать каждую в отдельности. Код примерно такой конструкции:

Кнопки 1, 2, 3 - группа 1
Кнопки 6, 7, 8 - группа 2
По нажатию Button А:
группа 1 - Отображаются;
группа 2 - Скрываются;
По нажатию Button B:
группа 1 - Скрываются;
группа 2 - Отображаются;

Понимаю что проще воспользоваться компонентами Panel или GroupBox, но мне нужна прозрачная подложка под кнопками (Panel), и края без бортиков (GroupBox).

Не судите строго, я только учусь.

Мой громоздкий код:
Код:

procedure TForm.ButtonBClick(Sender: TObject);
   begin
     Button1.Visible := False;
     Button2.Visible := False;
     Button3.Visible := False;
     Button6.Visible := True;
     Button7.Visible := True;
     Button8.Visible := True;
   end;

procedure TForm.ButtonAClick(Sender: TObject);
   begin
     Button1.Visible := True;
     Button2.Visible := True;
     Button3.Visible := True;
     Button6.Visible := False;
     Button7.Visible := False;
     Button8.Visible := False;
   end.
Изображения
Тип файла: jpg Без имени-1.jpg (105.2 Кб, 52 просмотров)
Ирина+ вне форума Ответить с цитированием
Старый 24.07.2017, 16:15   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Мой громоздкий код
Нормальный код. Можно конечно, например, в Tag кнопок засунуть 1 или 2 и в цикле по Controls формы анализировать и менять видимость, но при таком количестве кнопок код лучше точно не станет )) Имена кнопок не нормальные
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.07.2017 в 16:45.
Аватар вне форума Ответить с цитированием
Старый 24.07.2017, 16:59   #3
Ирина+
Новичок
Джуниор
 
Регистрация: 24.07.2017
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нормальный код. Можно конечно, например, в Tag кнопок засунуть 1 или 2 и в цикле по Controls формы анализировать и менять видимость, но при таком количестве кнопок код лучше точно не станет )) Имена кнопок не нормальные
Если кнопок много, также как и страниц, становится жутко неудобно писать вот так.
А какими методами ещё можно группировать кнопочки? Вы упомянули по Tag. Ещё у SpeedButton есть свойство GroupIndex, можно реализовать с его помощью?
Ирина+ вне форума Ответить с цитированием
Старый 24.07.2017, 18:10   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

GroupIndex для другого
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.07.2017, 18:51   #5
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Я бы сделал одну процедуру с параметром (true, false). Две поддерживать тяжело.

Еще можно сделать массивы кнопок под каждую группу, но, как уже писали,
Цитата:
Сообщение от Аватар Посмотреть сообщение
при таком количестве кнопок код лучше точно не станет ))
Black Fregat вне форума Ответить с цитированием
Старый 25.07.2017, 17:27   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Цитата:
Сообщение от Ирина+ Посмотреть сообщение
но мне нужна прозрачная подложка под кнопками (Panel)
Она там есть, свойство ParentBackGround, если версия Delphi не старая
http://docs.embarcadero.com/products...ackground.html
А если нет, то можно самим canvas разрисовать

Цитата:
Если ... много ... страниц, становится жутко неудобно
Если все страницы однотипные, то можно не создавать кучу кнопок для каждой, а пользоваться одним набором, меняя лишь содержимое (название кнопок и т.п.)
eoln вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группировка hata77 Microsoft Office Excel 3 18.10.2012 12:15
группировка Iskin Microsoft Office Excel 4 26.12.2011 11:21
Группировка Pretorianec79 Microsoft Office Excel 2 19.01.2010 14:36
группировка Мингиян Microsoft Office Excel 2 23.04.2008 23:43
Группировка SveSve Microsoft Office Excel 3 21.03.2008 11:50