Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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 :(



Страницы: 1 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.005 c
1-22752
Ptr
2002-03-27 11:18
2002.04.08
Hi All ! Кто-нить знает, как поменять форму курсора в чужом (внешнем) приложении ?


14-22837
Холостой
2002-03-01 07:11
2002.04.08
Как в сделать так, чтобы текст в StaticText был в несколько строчек


1-22674
Юрий Федоров
2002-03-28 14:30
2002.04.08
Как скрыть заголовок MDI-Child а?


1-22670
NTDim
2002-03-28 14:38
2002.04.08
Вопрос ...


1-22718
Yuri_V
2002-03-26 11:00
2002.04.08
Как передать в процедуру имя формы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский