Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2015, 07:25   #1
SpawNBK
 
Регистрация: 25.09.2013
Сообщений: 6
Счастье Скроллинг ScrollBox путем перетаскивания за image

Добрый день. Ситуация такая:
Имеем ScrollBox на форме. В боксе лежит TImage большого размера 8000х8000 px.

Пытаюсь сделать скроллинг путем таскания image в разные стороны.
(программа для просмотра карты в bmp и редактирования).
Пытался реализовать разными способами, но самый пригодный получился такой:

Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
//включаем перемещение мышкой и записывает текущие координаты
transport:=true;
posx:=x;
posy:=y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
//выключаем транспорт
transport:=false;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
//перемещение изображение, если включен транспорт
if transport then
  begin
     if posx>x then 
    ScrollBox2.HorzScrollBar.Position:=ScrollBox2.HorzScrollBar.Position+20;
      else
    ScrollBox2.HorzScrollBar.Position:=ScrollBox2.HorzScrollBar.Position-20;
     if posy>y then
    ScrollBox2.VertScrollBar.Position:=ScrollBox2.VertScrollBar.Position+20;
     else
    ScrollBox2.VertScrollBar.Position:=ScrollBox2.VertScrollBar.Position-20;
  end;
       image1.Invalidate;
end;
Скроллинг происходит, но получается как то не удачно. мышка же не всегда двигается четко и скроллинг вечно пляшет в + и в -.

Может кто знает, как решить данную задумку по оригинальней?
SpawNBK вне форума Ответить с цитированием
Старый 24.12.2015, 08:56   #2
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

http://delphi.about.com/od/adptips2006/qt/panning.htm
http://delphi-kb.blogspot.ru/2008/05...scrollbox.html

Последний раз редактировалось Filka; 24.12.2015 в 09:02.
Filka вне форума Ответить с цитированием
Старый 24.12.2015, 12:33   #3
SpawNBK
 
Регистрация: 25.09.2013
Сообщений: 6
По умолчанию

1 не подходит, а вот второе отлично подошло! Спасибо огромное!!!
SpawNBK вне форума Ответить с цитированием
Старый 24.12.2015, 14:06   #4
Filka
Форумчанин
 
Регистрация: 29.10.2015
Сообщений: 272
По умолчанию

Пожалуйста.
Filka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ScrollBox скроллинг через сообщения cheldonec Помощь студентам 1 06.11.2011 18:48
Скроллинг ScrollBox. Интересная идея. Vova777 Общие вопросы Delphi 3 31.05.2011 19:16
ScrollBox and Image lyuba13 C++ Builder 0 11.04.2011 17:53
Получение пути к файлу путем перетаскивания k1r1ch Общие вопросы Delphi 7 29.06.2009 21:19
image в scrollbox Черничный Общие вопросы Delphi 3 14.08.2008 16:35