![]() |
|
#1
|
|||
|
|||
![]() Добрый день. Пожалуйста срочно нужна помощь.
Я уже создавала одну тему насчет того как сделать кнопки что бы если одна была не видима через проверку Button1.Visible := FileExists('c:/1.exe'); то другая ниже ее кнопка поднялась на ее место, мне предложили через координаты это сделать, плизз покажите пример а то что то совсем не соображу как это сделать программно??? ![]() |
#2
|
|||
|
|||
![]() Код:
|
#3
|
|||
|
|||
![]() Спасибо..сейчас проверю
|
#4
|
|||
|
|||
![]() Блин так не пойдет, много кнопок, а как с помощью массива такое сделать?
|
#5
|
|||
|
|||
![]() Собственно, тебе надо 2 вещи:
1. Создать массив ссылок на кнопки 2. Сделать процку, кторая их разместит по вертикали или горизонтали с учетом видимости. Кстати, альтернативный вариант. Делать кнопки не невидимыми, а запрещенными (св-во Enabled). Тогда не придется их двигать. А теперь к коду. Заполнение масива расчитано на то, что кнопки лежат на самой форме и являются TButton. Код:
|
#6
|
||||||
|
||||||
![]() Хм. Пусть у нас есть два массива:
Код:
Пусть кнопка Buttons[i,j] не видна, тогда надо все кнопки что под ней сдвинуть вверх: Код:
Код:
|
#7
|
|||
|
|||
![]() Эх что-то у меня ничего не получается(((
|
#8
|
|||
|
|||
![]() Что и где не получается?
|
#9
|
|||
|
|||
![]() как этот массив ссылок создать? ( простите за такую глупость)
|
#10
|
|||
|
|||
![]() А мож просто создать динамические кнопки?
|
#11
|
|||
|
|||
![]() Дык код мой посомтри. Он этот массив и создает во время создания формы (FormCreate).
|
#12
|
|||
|
|||
![]() Не совсем понял суть проблемы...Если надо чтобы при разных ситуациях одна и та же кнопка выполняла разные процедуры при нажатии то просто напишите все эти процедуры и назначайте на одну кнопку их в процессе выполнения программы (Button1.OnClick := 'название процедуры')
Либо напишите одну процедуру, но сделайте в ней case или группу if. Если вам надо чтобы у вас было куча кнопок в одном месте, но одна всегда сверху (не по координатам, а по слоям) то используйте для поднятия кнопки BringToFront (Button1.BringToFront) ну или для опускания SendToBack (Button1.SendToBack). |
#13
|
|||
|
|||
![]() Спасибо всем буду пробывать
Последний раз редактировалось Sveta22, 14.11.2008 в 11:05. |
#14
|
||||
|
||||
![]() пункт 2.4.
Цитата:
Кнопка "+" - весы в правом верхнем углу сообщения... |