Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос (даже не знаю как правильно сформулировать) про группы. [D6, XP]


vegarulez ©   (2007-11-30 19:41:00) 

Привет мастерам. не знаю как правильно сформулировать вопрос... а заключается он в следующем...
Допустим у меня на форме есть 4 кнопки, под ними ещё 4 кнопки.
Вопрос таков, как можно объеденить первый четыре в 1 группу, вторые 4 во вторую группу и так далее и обращаться к свойствам групы...
допустим если в группе одна из кнопок отсутсвует то делать оставшиеся по середине формы...  и т.п.
Я так думаю: можно применить математику, проверять их на наличие и т.п. высчитывать для 1 -ой положение по центру, для двух, для 3-ех и 4-ёх... но вот незадача,хорошо елси их нет последовательно.. т.е. нет 4-ой или 3-ей и 4-ой, а как быть если нет 2-ой опустим и оставшиеся 3 нужно скомпоновать в центре формы... вообщем, друзья подскажите как быть в такой ситуации... куда копать?...
Может как то объеденить в группы и обращаться к свойствам группы?...

[p.s. кстати объединять элементы в группы не знаю как, даже если не касаться изложенной выше задачи. поэтому киньте в меня чем нить, где про это почитать... хотелось бы научиться]


Anatoly Podgoretsky   (2007-11-30 22:36:00) [1]

> vegarulez  (30.11.2007 20:40:17)  [17]

Попробуй Т


vegarulez   (2007-11-30 20:40:00) [2]

Чото в D6 DrawGrid я не могу в хелпе найти...


turbouser   (2007-11-30 20:37:00) [3]

Нет, все-таки DrawGrid


turbouser   (2007-11-30 20:36:00) [4]


> vegarulez ©   (30.11.07 20:35) [13]

А еще у кнопок есть Anchors


turbouser   (2007-11-30 20:35:00) [5]


> vegarulez ©   (30.11.07 20:30) [12]
> Есть задача... требуется решение...

DrawGrid


vegarulez   (2007-11-30 20:35:00) [6]

тока теперь вопрос как сделать их по центру... растояние м\у кнопками тоже фиксированое по оси x расстояние а по оси y расстоние b...
пока для просты a=b
надо бы придумать как кнопки дпустим на том ряду где их осталось не 4 сделать по центру... границ елси бы их было 4...


vegarulez   (2007-11-30 20:30:00) [7]

@!!ex ©   (30.11.07 20:22) [10]

Есть задача... требуется решение...
если задача существует... значед что-то мешает...
если бы не мешало не задавался бы такой задачей.

p.s.  @!!ex - комент не посуществу вопроса...


vegarulez   (2007-11-30 20:28:00) [8]

я вот тут сижу мозгую... последние мысли... раз они все друг под другом сделать 2 массива один по лефт [x1,x2,x3,x4] и по топ [y1,y2,y3,y4]... каждой кнопочке закодировать положение путём умножения порядкового номера делённого на 4 без остатка на координату xn... т.е. тем самым перебрать ряды и конкретные кнопки если её нет, то переместить на место той на которой счётчик остановился... + плюс если резуд\льтат деления меньше 1 то не перемешать туда, типа защитить первый ряд, от попадания туда кнопок из нижних рядов...


@!!ex   (2007-11-30 20:22:00) [9]

> [7] vegarulez ©   (30.11.07 20:19)

ООО да... пользователи мечатют о прыгающих кнопках.
Что мешает оставлять пустое место там где кнопка невидима?


vegarulez   (2007-11-30 20:21:00) [10]

опечатался

vegarulez ©   (30.11.07 20:19) [7]

форма, на форме кнопочки Tbutton. они либо все есть [енаблед=труе]либо части из них может не быть [они в это время енаблед=фалсе] так вот когда их нет остальные нужно передвинуть так, чтобы они были по центру формы + чтоб не было пробелов. кнопок 16 штук [bt_1..bt_16] - матрица 4 на 4... верхний ряд кнопок, даже при отсутсвии хоть одной не должен принимать к себе "наверх" кнопку из нижнего ряда взамен отсутсвующей, следующие же ряды [2,3] могут принимать кнопки из нижнего ряда... взамен тех которых нет, при чём кнопоки, после их постороения, должны быть по центру... независмо сколько их в ряду осталось 4, 3, 2 или вовсе 1...
если их нет то ряд пустой центрировать нечего.. :) он просто остаётся пустым, до их появления, как появляются то перестраиваться заново.
вот...


vegarulez   (2007-11-30 20:20:00) [11]

Германн ©   (30.11.07 20:18) [6]
Не... тут панел незя... он не прозрачный... форму не видно бут...


vegarulez   (2007-11-30 20:19:00) [12]

форма, на форме кнопочки Tbutton. они либо все есть [енаблед=фалсе] либо части из них может не быть [они в это время енаблед=фалсе] так вот когда их нет остальные нужно передвинуть так, чтобы они были по центру формы + чтоб не было пробелов. кнопок 16 штук [bt_1..bt_16] - матрица 4 на 4... верхний ряд кнопок, даже при отсутсвии хоть одной не должен принимать к себе "наверх" кнопку из нижнего ряда взамен отсутсвующей, следующие же ряды [2,3] могут принимать кнопки из нижнего ряда... взамен тех которых нет, при чём кнопоки, после их постороения, должны быть по центру... независмо сколько их в ряду осталось 4, 3, 2 или вовсе 1...
если их нет то ряд пустой центрировать нечего.. :) он просто остаётся пустым, до их появления, как появляются то перестраиваться заново.
вот...


Германн   (2007-11-30 20:18:00) [13]

Если одну группу кнопок поместить на одну панель, а другую группу на другую панель, будет как бы две группы. А если у панелей убрать капшоны и бевелы, то из и видно не будет.


Amoeba   (2007-11-30 20:06:00) [14]


> @!!ex ©   (30.11.07 19:53) [3]
>
> > [2] vegarulez ©   (30.11.07 19:49)
>
> Ты задачу нормально поставь.
> для ЧЕГО тебе это надо.
>

Поддерживаю!


vegarulez   (2007-11-30 19:55:00) [15]

Я думаю мож так сделать:
завести 2 массива с координатами кнопок, в одном по left в другом по top, и далее в цикле пороверять кнопки на enabled [они по условию задачи или enabled=true или false], и если кнопки нет, то тогда проверять дальше до момента когда она true и присваивать ей координаты той на которой счётчик остановился...

понимаю... что алгоритм конешно наверно не ахти какой хороший... мож у кого есть лучше мысли на этот счёт...
Поделитесь...


@!!ex   (2007-11-30 19:53:00) [16]

> [2] vegarulez ©   (30.11.07 19:49)

Ты задачу нормально поставь.
для ЧЕГО тебе это надо.


vegarulez   (2007-11-30 19:49:00) [17]

Я не утверждаю что оно ест... я спрашиваю... есть ли? можно как то элементы объеденить и обращаться к ним как одному целому?...

Хор. Прогруппы тогда забыли раз их нет... у кого какие мысли по решению той задачки которая воникла...


@!!ex   (2007-11-30 19:46:00) [18]

Либо я плохо знаю Delphi, либо понятия групп там нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо