AGB  ·  Datenschutz  ·  Impressum  







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

Linien-Komponente gesucht

Ein Thema von ibp · begonnen am 11. Jan 2007 · letzter Beitrag vom 12. Jan 2007
 
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Linien-Komponente gesucht

  Alt 11. Jan 2007, 13:23
Hier mal was ganz einfaches um zu verstehen, wie man sich selbst sowas macht... hehe

Delphi-Quellcode:
unit FormLine;

interface

uses
  SysUtils, Classes, Controls, Windows, Graphics;

type
  TFormLine = class(TCustomControl)
  private
   FStartPosX : Integer;
   FStartPosY : Integer;
   FEndPosX : Integer;
   FEndPosY : Integer;
   FPenColor : TColor;
   procedure SetStartPosX(const Value: Integer);
   procedure SetStartPosY(const Value: Integer);
   procedure SetEndPosX(const Value: Integer);
   procedure SetEndPosY(const Value: Integer);
   procedure SetPenColor(const Value: TColor);
   procedure Paint; override;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
   property StartPosX: Integer read FStartPosX write SetStartPosX;
   property StartPosY: Integer read FStartPosY write SetStartPosY;
   property EndPosX : Integer read FEndPosX write SetEndPosX;
   property EndPosY : Integer read FEndPosY write SetEndPosY;
   property Color;
   property PenColor : TColor read FPenColor write SetPenColor;
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TFormLine]);
end;

procedure TFormLine.SetStartPosX(const Value: Integer);
begin
 IF (Value <> FStartPosX) THEN BEGIN
  FStartPosX := Value;
  Invalidate;
 END;
end;

procedure TFormLine.SetStartPosY(const Value: Integer);
begin
 IF (Value <> FStartPosY) THEN BEGIN
  FStartPosY := Value;
  Invalidate;
 END;
end;

procedure TFormLine.SetEndPosX(const Value: Integer);
begin
 IF (Value <> FEndPosX) THEN BEGIN
  FEndPosX := Value;
  Invalidate;
 END;
end;

procedure TFormLine.SetEndPosY(const Value: Integer);
begin
 IF (Value <> FEndPosY) THEN BEGIN
  FEndPosY := Value;
  Invalidate;
 END;
end;

procedure TFormLine.SetPenColor(const Value: TColor);
begin
 IF Value <> FPenColor THEN BEGIn
  FPenColor := Value;
  invalidate;
 END;
end;


procedure TFormLine.Paint;
begin
 Canvas.Brush.Color := Color;
 Canvas.FillRect(Canvas.ClipRect);
 Canvas.Pen.Color := FPenColor;
 Canvas.MoveTo(FStartPosX, FStartPosY);
 Canvas.LineTo(FEndPosX, FEndPosY);
end;

end.
Oliver
  Mit Zitat antworten Zitat
 


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 11:59 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