![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребят, а не знаете как мне помочь? Динамически создаю панели на Scrollbox
c одинаковым расстоянием друг под другом, все хорошо, но стоит им выйти за пределы видимой области формы (скролбокса) они начинают по своему маштабироваться. уходят чуть левее и расстояние между ними прогрессивно растет. Как это лечится |
|
#2
|
||||
|
||||
|
Не должны бы вообще-то они так себя вести. Надо попробовать.
ПС: Ну вот тестовый код - все нормально, ничего никуда не разъезжается: Код:
procedure TForm9.FormCreate(Sender: TObject);
Var SB: TScrollBox;
P: TPanel;
i,j: Integer;
begin
SB := TScrollBox.Create(Form9);
SB.Parent := Form9;
SB.Align := alClient;
for i := 0 to 8
do for j := 0 to 8
do begin
P := TPanel.Create(Form9);
P.Parent := SB;
P.BoundsRect := Rect(10 + i*100, 10 + j*50, 110 + i*100, 60 + j*50);
end;
end;Последний раз редактировалось Страдалецъ, 10.02.2016 в 02:08. |
|
#3
|
|||
|
|||
|
Я кажется догадался почему так происходит у меня. Так получается если я сам начинаю масштабировать его. Например так
Код:
ScrollBox1.ScrollInView(_Panel);
ScrollBox1.VertScrollBar.Position:=100; |
|
#4
|
||||
|
||||
|
Странно, у меня ничего не расползается, что-бы я не делал. Может вы отрисовку в onPaint формы перенесли и там неверно расчет позиции делаете?
|