Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.623 pregleda

Najnovija ↓

ACDSee ili nesto slicno 27.02.2004. u 23:02 · pre 276 meseci #1
Pravim mali preglednik slika koji treba da ima: zoom in, zoom out i mogucnost pomjeranja slike putem misa ("rukom") nesto slicno onom kod ACDSee Viewer-a. Da li treba da nabavim neke druge komponente (koje, gdje) ili moze i sa standardnim, ako moze kako?
Hvala unaprijed!!!
Re: ACDSee ili nesto slicno 28.02.2004. u 10:54 · pre 276 meseci #2
Ovaj kod sam ja koristio za pomeranje slike mišem, kao i za pomeranje pomoću scrollbar-ova.

Prvo u "private" sekciji definišeš promenljive:
Code:

private
  Dragging        :  BOOLEAN;
  StartPressPoint :  TPoint;
  StartBitmapPoint:  TPoint;
{ Private declarations }


Na formu postaviš panel, a na njega TImage, kao i dve TScrollBar komponente (van panela).
Evo ti primer mog koda, pa pokusaj!
Code:

procedure TForm5.ScrollBarHorizontalChange(Sender: TObject);
begin
Image1.Left := -ScrollBarHorizontal.Position;
end;

procedure TForm5.ScrollBarVerticalChange(Sender: TObject);
begin
Image1.Top := -ScrollBarVertical.Position;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
Dragging := False;
end;

procedure TForm5.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Dragging := TRUE;
StartPressPoint  := Point(X,Y);
Image1.Cursor := CrSizeAll;
end;

procedure TForm5.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Dragging := FALSE;
Image1.Cursor := CrDefault;
end;

procedure TForm5.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
 VAR
    xDelta:  INTEGER;
    yDelta:  INTEGER;
begin
  IF   Dragging
  THEN BEGIN
   IF   ScrollBarHorizontal.Visible
    THEN BEGIN
      xDelta := X - StartPressPoint.X;
      Image1.Left :=
        Max(-Image1.Width + Panel1.Width, Min(0, StartBitmapPoint.X + xDelta));
      ScrollBarHorizontal.Position := -Image1.Left;
      StartBitmapPoint.X := Image1.Left;
    END;
    IF   ScrollBarVertical.Visible
    THEN BEGIN
      yDelta := Y - StartPressPoint.Y;
        Image1.Top := Max(-Image1.Height + Panel1.Height, Min(0, StartBitmapPoint.Y + yDelta));
          ScrollBarVertical.Position := -Image1.Top;
      StartBitmapPoint.Y := Image1.Top
    END;
  END;
end;
Re: ACDSee ili nesto slicno 01.03.2004. u 11:44 · pre 275 meseci #3
U zadnjoj proceduri dobijem error za Max i Min
Image1.Left :=
Max(-Image1.Width + Panel1.Width, Min(0, StartBitmapPoint.X + xDelta));
Re: ACDSee ili nesto slicno 01.03.2004. u 12:38 · pre 275 meseci #4
Pa nije ti dao kod koji radi nego primer koda.
Na osnovu toga ti treba da napravis svoje.
Re: ACDSee ili nesto slicno 02.03.2004. u 17:58 · pre 275 meseci #5
Uspio sam uz neke prepravke. Sada mi nedostaje jos Zoom in i Zoom out (malo sam dosadan). Hvala svima
Re: ACDSee ili nesto slicno 06.04.2004. u 18:20 · pre 274 meseca #7
***Pokusaj sa Canvas.StretchDraw()***

Probao sam ali ocito "ne kontam" kako da koristim tu komandu (ni poslje cackanja po helpu). Da li mozes da mi pojasnis kako da je pravilno iskoristim (na nekom primjeru). Hvala unaprijed!!!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme