ScrollBox Image

0

Jak przesynąć myszą bitmapę na Inage, która jest pięć razy miejsza od aktywnego okna ScrollBox nie używając belek ScrollBox
Podbnie jak w AutoCad Corel itp.

0

nie bardzo rozumiem o co ci chodzi....
moze o takie cos:

//glowna deklaracja
var startx,starty:integer;
      draging:boolean;

//teraz zdarzenia image'a
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if button=mbleft then
begin
startx:=x;
starty:=y;
draging:=true;
end;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if draging then
begin
image1.Left:=image1.Left+(-startx+x);
image1.top:=image1.top+(-starty+y);
draging:=false;
end;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if draging then
begin
image1.Left:=image1.Left+(-startx+x);
image1.top:=image1.top+(-starty+y);
end;
end;

//zaladuj jakis obrazek do image'a i ten timage sprobuj przesuwac po scrollboxie (o ile timage jest na scrollboxie)
//ustaw tez dragmode na manual

0

Działa ale nie oto chodziło.
Czytam plik WMF, który powiększam lub pomiejsz przesywając image po ScrollBox-ie i np. pomiejszeniu ucieka poza obszar widoczny przez SrcollBox i niemożna go znaleŹć w oknie. Chodziło mi o takie przesuwanie Image by to się ScrollBox ruszał a Image żeby nie ruszał się na ScrollBox. Dzięli temu nieda się Image wysunąc poza obszar widzenie.

0

Dzięki przykład pomógł. Problem rozwiązałem. Zrobiłem trochę inaczej. Denerwowało mnie mruganie w czasie przesuwania rysunku. Jak to rozwiązałem jest na serwerze
<url> http://4programmers.net/view_file.php?id=1509 </url>

0

Jak sie pozbyc tego mrugania?? Tego pliku juz nie ma na serwerze :(

0
DoubleBuffered:=True;

?

0

Ale gdzie to wpisac??

0

Gdzies w kodzie...

0

gdzie, ze gdzies to tez wiem

0

gdzie, ze gdzies to tez wiem

0

Ok, wiem juz gdzie sie to wstawia, jezeli obiekt jest Od razu na formie to:
Form1.DoubleBuffered := true;

A jak jest jeszcze na jakims obiekcie to zamiast formy to obiekt, w moim przypadku to jest tak:
ScrollBox1.DoubleBuffered := true;

A teraz drugi problem, scroll box mi zle wyswietla na belkach polozenie obrazka, a zrobilem tak jak jest na gorze napisane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1