AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TImage Zoom

Ein Thema von Davidlocke13 · begonnen am 19. Sep 2012 · letzter Beitrag vom 20. Sep 2012
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#21

AW: TImage Zoom

  Alt 20. Sep 2012, 10:38
Ich habe jetzt NewWidth und NewHeight raus geworfen, da ich die als Variablen schon mal wo anders eingetragen habe ! Mein Fenster schaut jetzt so komisch aus und lässt sich auch in keiner Größe mehr ändern ! unbenannt1.jpg
David
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#22

AW: TImage Zoom

  Alt 20. Sep 2012, 10:41
Welche Änderungen hast Du denn gemacht (Code)?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#23

AW: TImage Zoom

  Alt 20. Sep 2012, 10:42
Code:
unit WerkPlan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, jpeg, Grids;

type
    TPercentRect = record
    Left, Top, Width, Height: double;
    end;
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    ScrollBox1: TScrollBox;
    Image1: TImage;
    Button3: TButton;
    procedure FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer;
      var Resize: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);


  private
    { Private-Deklarationen }
     FPercent: TPercentRect;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation



{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
NewWidth,NewHeight: Integer;
begin
NewWidth := round(Image1.Width * 1.25);
NewHeight := round(Image1.Height * 1.25);
Image1.Width := NewWidth;
Image1.Height := NewHeight;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
NewWidth,NewHeight: Integer;
begin
NewWidth := round(Image1.Width / 1.25);
NewHeight := round(Image1.Height / 1.25);
Image1.Width := NewWidth;
Image1.Height := NewHeight;
end;

procedure TForm1.FormCanResize (Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var
  NewLeft, NewTop: integer;
begin
  NewLeft := round(ClientWidth / 100 * FPercent.Left);
  NewTop := round(ClientHeight / 100 * FPercent.Top);
  NewWidth := round(ClientWidth / 100 * FPercent.Width);
  NewHeight := round(ClientHeight / 100 * FPercent.Height);
  Button1.SetBounds(NewLeft, NewTop, NewWidth, NewHeight);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FPercent.Left := Button1.Left / ClientWidth * 100;
  FPercent.Top := Button1.Top / ClientHeight * 100;
  FPercent.Width := Button1.Width / ClientWidth * 100;
  FPercent.Height := Button1.Height / ClientHeight * 100;
end;

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
var
NewWidth,NewHeight: Integer;
begin
NewWidth := round(Image1.Width / 1.03);
NewHeight := round(Image1.Height / 1.03);
Image1.Width := NewWidth;
Image1.Height := NewHeight;
end;

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
var
NewWidth,NewHeight: Integer;
begin
NewWidth := round(Image1.Width * 1.03);
NewHeight := round(Image1.Height * 1.03);
Image1.Width := NewWidth;
Image1.Height := NewHeight;
end;

end.
David
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#24

AW: TImage Zoom

  Alt 20. Sep 2012, 10:48
Du weißt, was ein Var-Parameter ist? Im CanResize setzt Du ja Höhe und Breite neu, wohingegen in meinem Beispiel die Variablen nur der Berechnung dienen. Schau doch einmal hier: TCanResizeEvent
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#25

AW: TImage Zoom

  Alt 20. Sep 2012, 10:55
Vielleicht sollte ich mir erst mal Delphi für Dummies kaufen und das auswendig lernen
David
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#26

AW: TImage Zoom

  Alt 20. Sep 2012, 10:56
Vielleicht hilft das hier zum Verständnis: Deklaration von Funktionsparametern
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#27

AW: TImage Zoom

  Alt 20. Sep 2012, 11:38
Hab es gelesen aber umgesetzt bekomme ich da von was da steht NIX
David
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#28

AW: TImage Zoom

  Alt 20. Sep 2012, 11:46
Es ging ja nicht um das Umsetzen, sondern um das Verständnis. Im OnCanResize sind NewWidth und NewHeight Variablenparameter, d.h. vereinfacht gesagt sie werden "außerhalb" deklariert und Dir zur Bearbeitung übergeben. Schreibst Du also dort Werte hinein, werden sie übernommen und wirken sich damit aus, das ist der Grund für das von Dir beobachtete Verhalten.

[edit] Ansonsten kann ich Dir für die ersten Schritte die Grundlagentutorials und das E-Book vom Delphi-Treff empfehlen. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (20. Sep 2012 um 11:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#29

AW: TImage Zoom

  Alt 20. Sep 2012, 12:01
THX für die Seiten vom Delphi Treff arbeit damit auch schon ne zeit lang
David
  Mit Zitat antworten Zitat
Benutzerbild von Davidlocke13
Davidlocke13

Registriert seit: 19. Sep 2012
Ort: MD (Sachsen-Anhalt)
166 Beiträge
 
Delphi 2010 Enterprise
 
#30

AW: TImage Zoom

  Alt 20. Sep 2012, 13:34
Tja ich komme da einfach nicht mehr weiter
David
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz