AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe ( Lies X Position)

Ein Thema von xman236 · begonnen am 2. Mär 2010 · letzter Beitrag vom 3. Mär 2010
Antwort Antwort
xman236

Registriert seit: 8. Sep 2009
19 Beiträge
 
#1

Re: Hilfe ( Lies X Position)

  Alt 3. Mär 2010, 00:10
Delphi-Quellcode:
onstructor TBogen.Create (Zeichenflaeche: TForm; XPos, YPos, Breite, Hoehe :Integer; Farbe: TColor);
 // mit diesem Befehl rufe ich TBogen auf. Aber dabei muss alles eingeben werden, was in Klammern steht.

 begin
 zZF := Zeichenflaeche;
 zX := XPos; zY := YPos;
 zB := Breite;
 zH := Hoehe;
 zFarbe := Farbe;
 // hier wird bestimmt, wie die Eingabe heissen.
end;

 procedure TBogen.Zeichnen;
  var FarbeAlt: TColor;
      E1,E2,E3,E4 : TPoint;
      K1,K2,K3,K4,K5,K6,K7 : TPoint;
    // Um TBogen zu zeichnen braucht man alle diese Werte.

  begin
   zSichtbar := true;
    with zZF.Canvas do begin
      FarbeAlt := Brush.Color;
      Brush.Color := zFarbe;

    E1:= Point (zX,zY);
    E2:= Point (zX,zY-zH);
    E3:= Point (zX+zB, zY-zH);
    E4:= Point (zX+zB,zY);
   // Zuerst werden vier Punkte gezeichnet.
    K1 := Point (zX+Round(0.8*zB),zY);
    K2 := Point (zX+Round(0.7*zB),zY-Round(0.15*zB));
    K3 := Point (zX+Round(0.5*zB),zY-Round(0.25*zB));
    K4 := Point (zX+Round(0.3*zB),zY-Round(0.15*zB));
    K5 := Point (zX+Round(0.2*zB),zY);
    // Danach werden weitere fuenf Punkte gezeichnet
    Polygon([E1,E2,E3,E4,K1,K2,K3,K4,K5]);


    Brush.Color:= FarbeAlt;
    end;
    end;


procedure TBogen.Loeschen;
 var FarbeAlt: TColor;
      E1,E2,E3,E4 : TPoint;
      K1,K2,K3,K4,K5,K6,K7 : TPoint;
  begin
   zSichtbar := true;
    with zZF.Canvas do begin
      FarbeAlt := Brush.Color;
      Brush.Color := clWhite;
      Pen.Color := clWhite;
    E1:= Point (zX,zY);
    E2:= Point (zX,zY-zH);
    E3:= Point (zX+zB, zY-zH);
    E4:= Point (zX+zB,zY);

    K1 := Point (zX+Round(0.8*zB),zY);
    K2 := Point (zX+Round(0.7*zB),zY-Round(0.15*zB));
    K3 := Point (zX+Round(0.5*zB),zY-Round(0.25*zB));
    K4 := Point (zX+Round(0.3*zB),zY-Round(0.15*zB));
    K5 := Point (zX+Round(0.2*zB),zY);

    Polygon([E1,E2,E3,E4,K1,K2,K3,K4,K5]);
    Brush.Color:= clWhite;
    end;
end;

procedure TBogen.SetzeFarbe (Farbe: TColor);
begin
  zFarbe := Farbe;
  Zeichnen;
end;

procedure TBogen.SetzePosition (XPos, YPos: Integer);
begin
  Loeschen;
  zX := XPos; zY := YPos;
  Zeichnen;
end;

function TBogen.LiesXPosition: Integer;
begin
  LiesXPosition := zX ;
end;

function TBogen.LiesYPosition: Integer;
begin
  LiesYPosition := zY ;
end;

end.
So sieht mein komplette Baukasten aus.
Alles was in diesem Baukasten stehen, muessen wir in der eigenen Klasse rufen und benutzen.
Bis function LiesXPosition habe ich alles geschaft.

Delphi-Quellcode:
unit mBauen1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, mZeichenfenster1, mBaukasten1, mGebaeude;

type
  TFrmMain = class(TForm)
    btZeichenfenster: TButton;
    Button1: TButton;
    Button3: TButton;
    Button2: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    procedure btZeichenfensterClick(Sender: TObject);

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    test : TBogen;

    Zeichenfenster : TFrmZeichnen;

  public
    { Public-Deklarationen }
  end;

var
  FrmMain: TFrmMain;

implementation

{$R *.DFM}

procedure TFrmMain.btZeichenfensterClick(Sender: TObject);
begin
     Zeichenfenster := TFrmZeichnen.Create (FrmMain);
     Zeichenfenster.Show;
end;





procedure TFrmMain.Button1Click(Sender: TObject);
begin
        test := TBogen.Create(zeichenfenster,100,100,100,70,clGreen) ;
        test.Zeichnen;

end;

procedure TFrmMain.Button2Click(Sender: TObject);
begin
        test.SetzeFarbe (clBlack);

end;

procedure TFrmMain.Button3Click(Sender: TObject);
begin
     test.Loeschen;
end;

procedure TFrmMain.Button4Click(Sender: TObject);
begin
     test.Loeschen;
     test.SetzePosition (200, 200);
     test.Zeichnen;
end;

procedure TFrmMain.Button5Click(Sender: TObject);
    // LiesXPosition
  end;


procedure TFrmMain.Button6Click(Sender: TObject);
begin
    // LiesYPosition
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz