![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите, кто знает! [D7, WinXP]
Areat © (2006-11-07 22:26:00)Здраствуйте.
Помогите пожалуйсто разобраться с одной проблемой:
Делаю программу для просмотра изображений bmp и jpg.
компонент Image1 расположил внутри компонента ScrollBox1,
для того чтобы если свойсто AutoSize имеет значение True,
можно было рассмотреть весь рисунок(при этом появляются полосы прокрутки: справа и
слева).
Нужно сделать так , чтобы не касаясь полос прокрутки можно было рассмотреть весь рисунок,
если он выходит за пределы ScrollBox1.
То есть: "зажал" левой кнопкой мыши изображение и двигаешь его вверх, вниз,
влево, вправо внутри ScrollBox1 и смотришь любую часть изображения двигая его мышью.
antonn (2006-11-08 21:57:00) [1]Areat (08.11.06 11:51) [7]
Полоса справа- я описался, торопился.
не добежал? %)
Areat (2006-11-08 11:51:00) [2]Все получилось, спасибо большое за побробный ответ,
Полоса справа- я описался, торопился.
Ketmar (2006-11-08 10:52:00) [3]>[5] SamBrook(c) 8-Nov-2006, 02:36
>У стандартного tScrollbox не бывает полосы прокрутки слева.
так вот мне и интересно, откуда она взялась у автора. %-)
SamBrook (2006-11-08 02:36:00) [4]У стандартного tScrollbox не бывает полосы прокрутки слева.
Ketmar (2006-11-08 02:19:00) [5]>[0] Areat 7-Nov-2006, 22:26
>(при этом появляются полосы прокрутки: справа и слева).
выделение моё. %-)
SamBrook (2006-11-08 02:13:00) [6]
> Ketmar © (08.11.06 01:19) [2]
> СЛЕВА?!
???
Ketmar (2006-11-08 01:19:00) [7]СЛЕВА?!
SamBrook (2006-11-07 23:46:00) [8]Я в таких случаях пользуюсь 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;