Вверх ↑
Этот топик читают: Гость
Ответов: 200
Рейтинг: 5
#1: 2009-10-16 20:07:08 ЛС | профиль | цитата
Подскажите, как в этой схеме заместо ScrollBar использовать ScrollBar от MTStrTbl
code_15275.txt
карма: 0

0
файлы: 1code_15275.txt [1.5KB] [128]
Ответов: 1328
Рейтинг: 69
#2: 2009-10-16 22:51:51 ЛС | профиль | цитата
[b]Evgen818[/b], может такой подойдет?

Add(ScrollBarEx,6197807,420,280)
{
Top=185
Width=635
Color=-16777197
LightColor=-16777203
DarkColor=-16777214
FaceColor=-16777197
ArrowColor=-16777215
Max=200
}


карма: 2

0
Ответов: 200
Рейтинг: 5
#3: 2009-10-16 23:29:21 ЛС | профиль | цитата
Konst, спасибо, но мне надо чтобы Надписи сдвигались именно вместе с столбцами таблицы. То-есть в таблице перемещаем скролл и в месте с ним перемещаются надписи.
Фактически надписи - это имена столбцов в таблице. Просто в таблице нельзя сделать так как расположены надписи.
карма: 0

0
Ответов: 2478
Рейтинг: 698
#4: 2009-10-17 00:03:34 ЛС | профиль | цитата
Evgen818, может в таком исполнении тебе подойдет:
Add(MainForm,2953706,315,175)
{
Width=660
Height=457
}
Add(ChildScrollBox,4816030,357,175)
{
}
BEGIN_SDK
Add(EditMulti,1086885,21,21)
{
Width=524
Height=361
}
Add(ScrollBox,12168838,245,266)
{
Left=90
Top=115
Width=422
Height=147
Ctl3D=1
WinStyle=1
}
Add(MTStrTbl,4493966,427,252)
{
Top=50
Width=1475
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|2:14|2:15|2:16|2:17|2:18|
FlatScroll=1
}
Add(Label,6061256,371,189)
{
Top=25
Width=80
Height=25
Color=-16777213
AutoSize=1
Alignment=2
Point(Left)
}
Add(Label,4552387,357,245)
{
Left=80
Top=25
Width=80
Height=25
Color=32896
AutoSize=1
Alignment=2
}
Add(Label,14973127,336,301)
{
Width=160
Height=25
Color=12639424
AutoSize=1
Alignment=2
}
END_SDK



карма: 11

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#5: 2009-10-17 00:26:43 ЛС | профиль | цитата
Ну, почалось. Мне, глядя на вас, захотелось добавить события скроллинга в компонент

Кстати, Dilma, а почему эти события отсутствуют в Win, не стоит ли их туда добавит для всех контролов
карма: 22

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#6: 2009-10-17 01:01:38 ЛС | профиль | цитата
Ну че, добавляем события скролла для всех контролов, или "как", я уже сделал
------------ Дoбавленo в 01.38:
Короче, я добавил, если не понравится, откатим

Для проверки необходимо обновить c SVN файлы Win.pas и WinControl.ini
------------ Дoбавленo в 01.51:
Пример работы, после обновления



Add(MainForm,2953706,315,406)
{
}
Add(MTStrTbl,4493966,315,350)
{
Top=65
Width=875
Columns=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|1:9|2:10|2:11|2:12|2:13|2:14|2:15|2:16|2:17|2:18|
FlatScroll=1
Point(onHScrollPos)
link(onHScrollPos,15204455:doEvent1,[])
}
Add(Math,5197204,441,434)
{
OpType=1
Op1=100
link(onResult,4552387:doLeft,[])
}
Add(Label,6061256,504,371)
{
Left=200
Top=40
Width=100
Height=25
Color=-16777213
AutoSize=1
Point(doLeft)
Point(Left)
}
Add(Math,6110502,462,378)
{
OpType=1
Op1=200
link(onResult,6061256:doLeft,[])
}
Add(Label,4552387,490,427)
{
Left=100
Top=40
Width=100
Height=25
Color=32896
AutoSize=1
Point(doLeft)
}
Add(Hub,15204455,385,378)
{
InCount=2
OutCount=3
link(onEvent1,6110502:doOperation,[])
link(onEvent2,5197204:doOperation,[(417,391)(417,440)])
link(onEvent3,13015950:doOperation,[(404,398)(404,496)])
}
Add(Label,14973127,469,483)
{
Left=100
Top=15
Width=200
Height=25
Color=12639424
AutoSize=1
Point(doLeft)
}
Add(Math,13015950,420,490)
{
OpType=1
Op1=100
link(onResult,14973127:doLeft,[])
}

карма: 22

0
Ответов: 2478
Рейтинг: 698
#7: 2009-10-17 03:23:51 ЛС | профиль | цитата
nesco, в твоем примере перегони ползунок в право, а потом нажми левую кнопку [<] .
карма: 11

1
Голосовали:Evgen818
Разработчик
Ответов: 26324
Рейтинг: 2148
#8: 2009-10-17 03:33:10 ЛС | профиль | цитата
Тут разбираться надо, почему не выдается позиция в этом режиме Похоже, что штатный метод onScroll дорабатывать надо на такие случаи.
Буду разбираться с этим безобразием, как лучше сделать
карма: 22

0
Ответов: 200
Рейтинг: 5
#9: 2009-10-17 08:25:58 ЛС | профиль | цитата
sla8a, огромное спасибо. То что доктор прописал.
Но так же будем ждать доработок от nesco.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#10: 2009-10-17 11:43:28 ЛС | профиль | цитата
Поправил, можно проверять
карма: 22

0
Ответов: 2478
Рейтинг: 698
#11: 2009-10-17 16:36:55 ЛС | профиль | цитата
nesco, в твоем примере перегони ползунок в право, а потом нажми на пустое пространство не занятое ползунком (удерживай клавишу миши нажатой). При нажатии на клавишу [<] текст не поспевает за таблицей. Передвижение ползунка при помощи колесека миши?
карма: 11

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#12: 2009-10-17 17:46:21 ЛС | профиль | цитата
sla8a писал(а):
держивай клавишу миши нажатой

Да, я знаю, но это побороть невозможно, новое событие о позиции записывается только после отпускания ползунка. Только нажатый скролл выдает синхронное событие
------------ Дoбавленo в 17.47:
sla8a писал(а):
Передвижение ползунка при помощи колесека миши

Не поддерживается вообще, нет такого события в контроле на скролл. В остальных, самодельных, скролах вообще не двигается по этому событию
------------ Дoбавленo в 18.08:
Попробую изменить алгоритм, и сделать съем позиции скрола с нижних точек после всех событий, тогда по сыбытию колеса мыши можно будет получить позиции скрола
карма: 22

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#13: 2009-10-17 23:29:19 ЛС | профиль | цитата
Dilma, ответь что-нибудь. Что-то мне не понравилось вся эта бадяга со скролами, поторопился я, похоже. Может имеет смысл вернуть исходную версию и дальше хорошо подумать
------------ Дoбавленo в 01.30:
Все откатил на старую версию, а то фигня с этим скролом получается
карма: 22

0
Ответов: 200
Рейтинг: 5
#14: 2009-10-18 01:48:08 ЛС | профиль | цитата
Все откатил на старую версию, а то фигня с этим скролом получается

Это конечно зря, очень нужная вещь.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#15: 2009-10-18 02:04:42 ЛС | профиль | цитата
Evgen818 писал(а):
Это конечно зря, очень нужная вещь

Нужная, согласен, но недоделанную версию выкладывать не имеет смысла. Я просто не хочу, что бы в меня народ потом пальцем тыкал. Я еще мог согласиться с тем, что координты выдает по отпусканию мыша, но вот то, что координаты не вылавливаются по прокрутке колесом, это не пойдет
карма: 22

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