Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.02.2016, 20:23
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию Самомасштабируемость Scrollbox

Ребят, а не знаете как мне помочь? Динамически создаю панели на Scrollbox
c одинаковым расстоянием друг под другом,
все хорошо, но стоит им выйти за пределы видимой области формы (скролбокса) они начинают по своему маштабироваться. уходят чуть левее и расстояние между ними прогрессивно растет.
Как это лечится
Ответить с цитированием
  #2  
Старый 10.02.2016, 01:53
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Не должны бы вообще-то они так себя вести. Надо попробовать.

ПС: Ну вот тестовый код - все нормально, ничего никуда не разъезжается:
Код:
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  
Старый 10.02.2016, 21:00
aqula aqula вне форума
Новичок
 
Регистрация: 19.10.2012
Сообщения: 95
Репутация: 10
По умолчанию

Я кажется догадался почему так происходит у меня. Так получается если я сам начинаю масштабировать его. Например так
Код:
    ScrollBox1.ScrollInView(_Panel);
     ScrollBox1.VertScrollBar.Position:=100;
Это я хочу вниз прокрутить его и показать последний созданный элемент
Ответить с цитированием
  #4  
Старый 10.02.2016, 22:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Странно, у меня ничего не расползается, что-бы я не делал. Может вы отрисовку в onPaint формы перенесли и там неверно расчет позиции делаете?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025