Вверх ↑
Этот топик читают: Гость
Ответов: 27
Рейтинг: 14
#1: 2009-09-21 17:21:12 ЛС | профиль | цитата
Всем добрый вечер. Столкнулся с проблемой при создании интерфейса для программы.
Нужно организовать динамическое изменение элементов на форме, без последствий.
долго пробовал делать это и через слои, и через панели, но получается довольно коряво.
Если есть время - подскажите

P.S.: кстати, искал на форуме, но не нашёл. Есть ли схема графического таймера с обратным отсчётом? формат [осталось часы:минуты:секунды]. (пробовал делать через DateDiff, но страшно глючит)

code_14992.txt

с уважением к вселенскому разуму )))
карма: 1

0
файлы: 1code_14992.txt [1KB] [170]
Ответов: 1328
Рейтинг: 69
#2: 2009-09-21 18:13:45 ЛС | профиль | цитата
Replikant писал(а):
пробовал делать через DateDiff, но страшно глючит
нормально работает code_14994.txt
карма: 2

1
файлы: 1code_14994.txt [1.6KB] [263]
Голосовали:Replikant
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2009-09-21 18:21:57 ЛС | профиль | цитата
Replikant писал(а):
Если есть время - подскажите

подсказать что-то можно будет не раньше, чем станет известно, что собственно требуется. Фраза "динамическое изменение элементов на форме" ни о чем не говорит
карма: 27
0
Ответов: 8930
Рейтинг: 823
#4: 2009-09-21 19:47:02 ЛС | профиль | цитата
Replikant, во всех интерфейсных элементах есть точки управления положением и размерами, делать можно что душе угодно code_14995.txt
карма: 19

1
файлы: 1code_14995.txt [1.3KB] [210]
Голосовали:Replikant
Ответов: 135
Рейтинг: 2
#5: 2009-09-21 20:07:07 ЛС | профиль | цитата

карма: 0

0
Ответов: 4641
Рейтинг: 334
#6: 2009-09-21 20:41:39 ЛС | профиль | цитата
Replikant писал(а):
через слои

смотри примеры из вики. так есть как надо делать
HBoxLayoutVBoxLayoutGridLayout
------------ Дoбавленo в 21.21:
Replikant писал(а):
обратным отсчётом


Add(MainForm,2953706,112,98)
{
}
Add(Timer,14057472,189,56)
{
Enable=1
link(onTimer,7239059:doNext,[(240,62)(240,188)])
}
Add(DateConvertor,5017936,315,182)
{
Mode=16
Format="HH:mm:ss"
link(onResult,15368038:doText,[])
}
Add(Counter,7239059,259,182)
{
Type=1
Point(doValue)
link(onNext,5017936:doConvert,[])
}
Add(Edit,15368038,378,182)
{
Left=120
Top=105
Width=120
}
Add(Edit,5689681,189,98)
{
Left=125
Top=40
Width=115
Text="1:15:00"
}
Add(MultiStrPart,5612142,189,147)
{
Char=":"
link(onSplit,13721570:doCalc,[(232,153)(232,190)(177,190)(177,209)])
link(Str,5689681:Text,[])
}
Add(MathParse,13721570,189,203)
{
MathStr="%1*3600+%2*60"
link(onResult,7239059:doValue,[])
link(X1,5612142:Part1,[])
link(X2,5612142:Part2,[])
}
Add(Button,15234619,112,56)
{
Left=160
Top=75
link(onClick,4438926:doEvent1,[])
}
Add(Hub,4438926,154,56)
{
link(onEvent1,14057472:doTimer,[])
link(onEvent2,5612142:doSplit,[(178,69)(178,153)])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:Replikant
Ответов: 135
Рейтинг: 2
#7: 2009-09-21 21:44:28 ЛС | профиль | цитата
Replikant, Вот так получился интерфейс..только не знаю как кнопки разнести на края. может кто подскажет code_14996.txt
карма: 0

1
файлы: 1code_14996.txt [2.2KB] [170]
Голосовали:Replikant
Ответов: 16884
Рейтинг: 1239
#8: 2009-09-21 22:14:13 ЛС | профиль | цитата
Konst писал(а):
нормально работает
Один лишний компонент и лишний линк.
code_14997.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
файлы: 1code_14997.txt [1.4KB] [176]
Голосовали:Konst, Replikant
Ответов: 2293
Рейтинг: 678
#9: 2009-09-22 03:07:55 ЛС | профиль | цитата
Replikant, может это поможет code_15001.txt
Димарик писал(а):
code_14996.txt
Димарик, элементы слои, созданы для того чтоб не городить панели с выравниваниями в них.
карма: 11

1
файлы: 1code_15001.txt [1.7KB] [379]
Голосовали:Replikant
Ответов: 135
Рейтинг: 2
#10: 2009-09-22 08:19:39 ЛС | профиль | цитата
sla8a писал(а):
Димарик, элементы слои, созданы для того чтоб не городить панели

Это понятно, но без панелей у меня не получилоь...checkBox'ы почему то падали в нижний ряд
карма: 0

0
Ответов: 2293
Рейтинг: 678
#11: 2009-09-22 10:57:21 ЛС | профиль | цитата
Димарик писал(а):
без панелей у меня не получилоь...checkBox'ы почему то падали в нижний ряд

И это поправимо
 Add(MainForm,16771100,336,196)
{
Width=702
Height=464
}
Add(Memo,12295005,553,161)
{
Left=15
Top=5
Width=620
Height=90
Layout="gor"
WidthScale=100
HeightScale=50
}
Add(Memo,3625944,476,266)
{
Left=30
Top=120
Width=265
Height=85
Layout="grid"
WidthScale=50
HeightScale=50
}
Add(Memo,12403408,476,371)
{
Left=30
Top=223
Width=265
Height=82
Layout="grid"
WidthScale=50
HeightScale=50
}
Add(Memo,2090127,679,266)
{
Left=360
Top=120
Width=275
Height=85
Layout="grid"
WidthScale=100
HeightScale=50
}
Add(Memo,5468094,686,371)
{
Left=360
Top=225
Width=275
Layout="grid"
WidthScale=50
HeightScale=50
}
Add(CheckBox,1631213,434,266)
{
Left=5
Top=118
Width=15
Height=15
Layout="01"
HeightScale=50
Caption=""
}
Add(CheckBox,16377386,434,371)
{
Left=5
Top=225
Width=15
Height=15
Layout="03"
HeightScale=50
Caption=""
}
Add(CheckBox,12252162,637,266)
{
Left=330
Top=118
Width=15
Height=15
Layout="02"
HeightScale=50
Caption=""
}
Add(CheckBox,13162092,637,371)
{
Left=330
Top=225
Width=15
Height=15
Layout="04"
HeightScale=50
Caption=""
}
Add(Button,2630788,602,532)
{
Left=580
Top=390
Layout="ver"
}
Add(Button,3155216,434,532)
{
Left=5
Top=390
Layout="ver"
}
Add(VBoxLayout,2714605,777,322)
{
Name="gor"
Space=10
Padding=10
}
Add(LayoutSpacer,11712973,532,532)
{
Left=305
Top=395
Height=25
Layout="ver"
WidthScale=100
HeightScale=5
}
Add(GridLayout,16154725,546,322)
{
Name="grid"
Space=10
WidthScale=100
HeightScale=50
Layout="gor"
Rows=2
Cols=4
AddMode=1
}
Add(HBoxLayout,7501662,651,532)
{
Name="ver"
Layout="gor"
}
Add(VBoxLayout,11466027,392,266)
{
Name="01"
Layout="grid"
}
Add(LayoutSpacer,1100683,434,308)
{
Left=5
Top=145
Width=20
Layout="01"
}
Add(LayoutSpacer,8230995,637,301)
{
Left=330
Top=140
Width=20
Layout="02"
}
Add(VBoxLayout,5859522,595,266)
{
Name="02"
Layout="grid"
}
Add(LayoutSpacer,13864180,434,406)
{
Left=5
Top=250
Width=20
Layout="03"
}
Add(LayoutSpacer,2763619,637,413)
{
Left=330
Top=250
Width=20
Layout="04"
}
Add(VBoxLayout,15562371,595,371)
{
Name="04"
Layout="grid"
}
Add(VBoxLayout,16694501,385,371)
{
Name="03"
Layout="grid"
}



карма: 11

1
файлы: 1code_15005.txt [2.3KB] [345]
Голосовали:Replikant
Ответов: 27
Рейтинг: 14
#12: 2009-09-22 12:49:08 ЛС | профиль | цитата
Всем огромное спасибо, вопрос исчерпан ))


sla8a писал(а):
И это поправимо code_15005.txt

sla8a, у меня ссылка на http://hiasm.com/xf/index.php ведёт...


------------ Дoбавленo в 12.52:
Dilma писал(а):
подсказать что-то можно будет не раньше, чем станет известно, что собственно требуется

Dilma, осознал свою ошибку в следующий раз буду более понятливым
карма: 1

0
Ответов: 135
Рейтинг: 2
#13: 2009-09-22 22:36:31 ЛС | профиль | цитата
Вот не могу понять где подвох. Два одинаковых интерфейса. первый с использованием горизонтального слоя, второй с решеткой. как надо получилось с решеткой но по идее она в этом случае не нужна?
code_15012.txt

code_15013.txt
И почему цвет элемента PageControl разный? настройки не менял.
карма: 0

0
файлы: 2code_15012.txt [1KB] [170], code_15013.txt [1KB] [170]
Ответов: 2293
Рейтинг: 678
#14: 2009-09-23 12:31:58 ЛС | профиль | цитата
Обрати внимание на AddMode в слоях. Поменяй в code_15012.txt в горизонтальном слое adPosition на adZOrder (как в code_15013.txt в слое решетка) и будет:
Димарик писал(а):
Два одинаковых интерфейса

Димарик писал(а):
И почему цвет элемента PageControl разный? настройки не менял.

А в MainForm цвет не менял?

карма: 11

1
Голосовали:Димарик
Ответов: 135
Рейтинг: 2
#15: 2009-09-23 19:48:34 ЛС | профиль | цитата
sla8a, спс разобрался
карма: 0

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)