Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Работа с TImage 


Well   (2002-03-25 09:52) [0]

Проблема такая:
в ScrollBox загружается изображение. Если размер рисунка больше размера ScrollBox появляются полосы прокрутки.
Кроме скроллинга нужно организовать перетаскивание изображения мышью (как в ACDsee32 ).
Хотел привязать свойство Position ScrollBox к координатам X,Y мыши, но не получается, изображение начинает дрожать и скроллинг идет с ускорением.
Подскажите, как решить эту проблему?



MBo   (2002-03-25 09:58) [1]

можно попробовать обрабатывать OnMouseMOve при нажатой кнопке и генерировать скроллинг



Well   (2002-03-25 14:08) [2]

Пробовал, не получается. Тут проблема еще в том, что при скроллинге меняются координаты курсора мыши. Надо привязать курсор к точке изображения так, чтобы он двигался вместе с этой точкой при скроллинге. Но почему-то не получается...:((



MBo   (2002-03-25 14:46) [3]

ну вот это кое-как работает (Image в ScrollBox)

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then begin
x0:=x;y0:=x;
end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then begin
if y<>y0 then scrollbox1.VertScrollBar.position:=
scrollbox1.VertScrollBar.position+(y0-y);
if x<>x0 then scrollbox1.HorzScrollBar.position:=
scrollbox1.HorzScrollBar.position+(x0-x);
label1.caption:=inttostr(scrollbox1.VertScrollBar.position);
end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then begin
x0:=x;y0:=x;
end;
end;



Well   (2002-03-26 08:14) [4]

Спасибо!
Все работает.:))
Я не правильно делал привязку координатов мыши и свойства Position :(




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.036 c
3-22569           Malder                2002-03-16 13:55  2002.04.08  
Подсчет количества записей


4-22881           AlexanderS            2002-01-22 15:45  2002.04.08  
Как получить selected text


1-22688           Злой                  2002-03-26 12:25  2002.04.08  
Приветствую!!! Не подскажите компоненту для преобразования Дос текстовых файлов в формат Doc, rtf


14-22803          evgeg                 2002-02-26 08:23  2002.04.08  
Надоела безосновательная реклама NET


14-22835          Axel                  2002-02-28 13:13  2002.04.08  
C++Builder 6