![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос (даже не знаю как правильно сформулировать) про группы. [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, либо понятия групп там нет.