AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Eigene Komponente......
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Komponente......

Ein Thema von Vale · begonnen am 27. Jan 2004 · letzter Beitrag vom 27. Jan 2004
 
Benutzerbild von Vale
Vale

Registriert seit: 1. Okt 2003
Ort: Pforzheim
14 Beiträge
 
Delphi 5 Standard
 
#1

Eigene Komponente......

  Alt 27. Jan 2004, 17:48
Hi.....

so........dann mal meine Fragen!

Also ich möchte für mein Projekt ne eigene Komponente erstellen.
Das ist ein rechteckiges Panel......mit nem runden Shape drauf.
Wenn man solche drei untereinander stellt....dann siehts wie ne
ampel aus......nur zum mal vorstellen!
Des hab ich jetzt mal alles in ne eigene klasse gemacht,
hat soweit auch ganz gut geklappt.
Jetzt möchte ich eine Eigenschaft Farbe haben, wo ich
zwischen meinen sechs vorgegebenen Farben auswählen kann.
Aber irgendwie bekomm ich des mit der property nicht mehr hin!

Ich post mal meinen Quelltext......aber net erschrecken.......

Code:
unit ZeichneU;

interface

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


type
TFarbe = TColor;
TZeichnePanel = class(TPanel)
              protected
               Licht: TShape;
               fColor: TColor;
               procedure setColor(c: TColor);
               procedure myOnResize(Sender: TObject);
              public
               constructor Create(AOwner: TComponent); override;
               procedure Paint; override;
              published
               property Farbe: TColor read fcolor write setcolor;
end; // of TZeichnePanel

procedure Register;

var
rot: TFarbe;
gruen: TFarbe;
blau: TFarbe;
gelb: TFarbe;
rosa: TFarbe;
tuerkis: TFarbe;

implementation

constructor TZeichnePanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 30;
Height := 30;
Top := 100;
Left := 100;
setcolor(fcolor);
Licht := TShape.Create(Self); //Shape,Kreis
Licht.Parent := Self;
Licht.Width := 29;
Licht.Height := 29;
Licht.Shape := stCircle;
Licht.Top := 1;
Licht.Left := 1;
Licht.Brush.Color := fcolor;
OnResize := myOnResize;
end;

procedure TZeichnePanel.Paint;
begin
canvas.Brush.Color := clsilver;
canvas.Pen.color := clblack;
canvas.rectangle(0,0,50,50);

end;


procedure TZeichnePanel.setColor(c: TColor);
var
x:integer;
begin

if c = rot then fcolor := clred;
if c = gruen then fcolor := cllime;
if c = gelb then fcolor := clyellow;
if c = blau then fcolor := clblue;
if c = rosa then fcolor := clfuchsia;
if c = tuerkis then fcolor := clteal;

Licht := TShape.Create(Self); //Shape,Kreis
//Licht.Parent := Self;
Licht.Brush.Color := fcolor;

Randomize;             //Zufall für Farben!! 
x := random(6);
case x of
  0: fcolor := clred;
  1: fcolor := cllime;
  2: fcolor := clblue;
  3: fcolor := clyellow;
  4: fcolor := clfuchsia;
  5: fcolor := clteal;
end;

end;



procedure TZeichnePanel.myOnResize(Sender: TObject);
begin
paint;
end;


Procedure Register;
begin
RegisterComponents('Standard',[TZeichnePanel]);
end;


end.



Ehrlich gesagt peil ich schon teilweise selber net ganz durch.
Steht teilweise absoluter schwachsinn drin.....
Ehrlich gesagt peil ich schon teilweise selber net ganz durch.
Steht teilweise absoluter schwachsinn drin.....weiß ich auch selber,
aber so macht er wenigstens irgendwas
Es geht um die TFarbe.......hab schon alles mögliche ausprobiert.
Habs auch scho mit record probiert bin aber auch net weit gekommen.

Ich möcht also nur......das wenn ich die Komponente auf meine
Oberfläche ziehe....... ich unter Farbe meine sechs zur auswahl
habe.....und das SHAPE auch dementsprechend die farbe hat!?

Hoffe mal das jmd. wenigstens geblickt hat was ich will!

Na denn..........kann mir "nixblicker" jemand helfe?
Bye bye, Vale 8)


www.vales-page.de.vu
  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 04:15 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 by Thomas Breitkreuz