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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2011, 23:04   #1
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
Сообщение Динамеческое создание кнопок

Здрастье, помогите кто может... За ранее спасибо
создаю вот так
Код:
procedure THardDisk.FormCreate(Sender: TObject);
var k :integer;
begin
for k := 0 to 15 do
  begin
     t[k]:=TsBitBtn.Create(self);
     t[k].Height:=25;
     t[k].Width:=154;
     t[k].Left:=3;
     if k > 0 then
     t[k].Top:=(t[i].height+t[k-1].top)+5 //под предыдущей кнопкой +5 пикселей отступ
     else
     t[k].Top:=3;
     t[k].Visible:=False;
     t[k].Caption := '1кнопка';
     t[k].Parent:=sScrollBox1;
     t[k].Tag:=k;
     t[k].OnClick := sBitBtn1Click;
end;
потом кнопкой + добавляю вот так
Код:
   t[VisibleCount].Show;
   Inc(VisibleCount);
   if VisibleCount > 0 then begin
   sSpeedButton4.Enabled:=True;
   end;

if VisibleCount = 16 then begin
  sSpeedButton3.Enabled:=False;
  sSpeedButton4.Enabled:=True;
end;
Код работает нормально,ошибок нет (Рис1), правда не работает добавление кнопки если выбрать в Combobox (подскажите как заставить работать)

Но хотелось бы немножко переделать но не могу понять как (:.
нужно создать динамические кнопки так что бы 1я была большой а остальные делились пополам приблизительно вот так Рис2
casio23 вне форума Ответить с цитированием
Старый 30.12.2011, 23:26   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Да прекратите вы уже грабли на основе массивов строить. Уже все за вас продумано. Напишите спец. класс на основе TList и нет проблем.


Чтобы при случае 2 кнопок, они становились большими(растягивали свою высоту), надо высоту контейнера этих кнопок поделить на кол-во добавленных кнопок, отбросить остаток от деления (Panel1.Height div N) и получите высоту кнопки.

Последний раз редактировалось Человек_Борща; 30.12.2011 в 23:29.
Человек_Борща вне форума Ответить с цитированием
Старый 31.12.2011, 03:06   #3
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию

а можно пример, или где можно почитать, а то я не понял как это сделать
casio23 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СозданиЕ определенного количество кнопок Giku Помощь студентам 9 07.11.2011 23:35
Создание множества кнопок aank10 C++ Builder 1 15.09.2011 20:31
Создание кнопок Alenkakiss Помощь студентам 4 07.06.2009 18:20
создание кнопок на сайте plaksa HTML и CSS 2 17.12.2008 15:42
Создание кнопок на лету gabin Компоненты Delphi 2 11.05.2008 15:30