Прокрутка TScrollBox во время выполнения с помощью кнопок и мыши
Привет, ребята, после 3 дней не найдя правильного ответа, я пришел к вам за помощью:), поэтому мой вопрос заключается в том, что у меня есть компонент TScrollBox в моей форме, и я создаю компоненты TImage на мероприятии FormCreate, которое заполняет Scroll-box компонентами но когда я хочу прокрутить их с помощью прокрутки, он выходит за пределы конца последнего компонента, код будет работать на 2 кнопках и колесе мыши 1 кнопка влево 2 кнопки вправо и колесо мыши в обе стороны
procedure TForm1.RightButtonClick(Sender: TObject);
var
Coff : Double;
begin
Coff := 6.6;
scrollbarpos := scrollbarpos - 100;
if((scrollbarpos>= -Coff * screen.PixelsPerInch) AND (scrollbarpos<=0)) then
begin
ScrollBox1.ScrollBy(-100,0);
end
else
begin
scrollbarpos := scrollbarpos + 100;
if(scrollbarpos < -(Coff /2) * screen.PixelsPerInch) then
begin
ScrollBox1.ScrollBy(-Round(scrollbarpos+Coff *screen.PixelsPerInch),0);
scrollbarpos := round( -Coff * screen.PixelsPerInch);
end;
end;
end;
этот код работает, но когда я изменяю мои настройки "Панель управления \ Оформление и персонализация \ Отображение" с меньших - на 100% на средний или большой, он выходит за пределы последнего компонента, он как-то связан со значением Coff. Любые идеи более эффективного способа прокрутки без использования полос прокрутки, потому что они невидимы.
Проект можно найти здесь: http://www.failai.lt/i9famvv1my9f/proj.rar.htm