Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.12;
Скачать: CL | DM;

Вниз

Помогите, кто знает!   Найти похожие ветки 

 
Areat   (2006-11-07 22:26) [0]

Здраствуйте.
Помогите пожалуйсто разобраться с одной проблемой:
Делаю программу для просмотра изображений bmp и jpg.
компонент Image1 расположил внутри компонента ScrollBox1,
для того чтобы если свойсто AutoSize имеет значение True,
можно было рассмотреть весь рисунок(при этом появляются полосы прокрутки: справа и
слева).
Нужно сделать так , чтобы не касаясь полос прокрутки можно было рассмотреть весь рисунок,
если он выходит за пределы ScrollBox1.
То есть: "зажал" левой кнопкой мыши изображение и двигаешь его вверх, вниз,
влево, вправо внутри ScrollBox1 и смотришь любую часть изображения двигая его мышью.


 
SamBrook ©   (2006-11-07 23:46) [1]

Я в таких случаях пользуюсь drag&drop.


type
TForm1 = class(TForm)
 private
    fDragStart: TPoint;
.......................................

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 fDragStart:=Point(X,Y);
 Image1.BeginDrag(false,3);
end;

procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
var deltaX,deltaY: integer;
begin
 deltaX:=x-fDragStart.X;
 deltaY:=Y-fDragStart.Y;

 with ScrollBox1 do begin
   HorzScrollBar.Position:=HorzScrollBar.Position-deltaX;
   VertScrollBar.Position:=VertScrollBar.Position-deltaY;
 end;
end;



 
Ketmar ©   (2006-11-08 01:19) [2]

СЛЕВА?!


 
SamBrook ©   (2006-11-08 02:13) [3]


> Ketmar ©   (08.11.06 01:19) [2]
> СЛЕВА?!

???


 
Ketmar ©   (2006-11-08 02:19) [4]

>[0] Areat 7-Nov-2006, 22:26
>(при этом появляются полосы прокрутки: справа и слева).
выделение моё. %-)


 
SamBrook ©   (2006-11-08 02:36) [5]

У стандартного tScrollbox не бывает полосы прокрутки слева.


 
Ketmar ©   (2006-11-08 10:52) [6]

>[5] SamBrook(c) 8-Nov-2006, 02:36
>У стандартного tScrollbox не бывает полосы прокрутки слева.
так вот мне и интересно, откуда она взялась у автора. %-)


 
Areat   (2006-11-08 11:51) [7]

Все получилось, спасибо большое за побробный ответ,

Полоса справа- я описался, торопился.


 
antonn ©   (2006-11-08 21:57) [8]

Areat   (08.11.06 11:51) [7]
Полоса справа- я описался, торопился.

не добежал? %)



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

Текущий архив: 2007.08.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
2-1184088293
Bora_ru
2007-07-10 21:24
2007.08.12
Копирование каталога


1-1180622931
JanMihail
2007-05-31 18:48
2007.08.12
Ожидание загрузки страницы!


15-1184588198
Darvin
2007-07-16 16:16
2007.08.12
Сообщение Windows с кодом $B03F


2-1184221584
Aletar
2007-07-12 10:26
2007.08.12
Popup меню в ListView


3-1177658448
DelphiLexx
2007-04-27 11:20
2007.08.12
FireBird 2.0 многопользовательская работа