Прокрутка 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

0 ответов

Другие вопросы по тегам