unit WinControl1;
interface
uses
SysUtils, Classes, Controls, ComCtrls, Windows, StdCtrls, Graphics;
type
TWinControl1 =
class(TWinControl)
private
FLblContainerCaption, FLblTrackBar: TLabel;
FEdPositionsEingabe: TEdit;
FTrckBarTischposition: TTrackBar;
FButtonEditEingabe: TButton;
FCombBoxTischauswahl: TComboBox;
fdTischposition: double;
procedure SetContainerCaption(Value:
string);
procedure SetTischPosition(Value: double);
function GetTischPosition: double;
function CreatestaticLabel: TLabel;
function CreatedynamicLAbel: TLabel;
function CreateTrackBar: TTrackBar;
function CreateEdit: TEdit;
function CreateButton: TButton;
function CreateComboBox: TComboBox;
procedure Trackbarbewegung(Sender: TObject);
procedure Position_ansteuern(Sender: TObject);
procedure Edit_leeren(Sender: TObject);
protected
procedure CreateWnd;
override;
public
constructor create(AOwner: TComponent);
property ContainerCaption :
string write SetContainerCaption;
property Tischposition: double
read GetTischPosition
write SetTischposition;
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Samples', [TWinControl1]);
end;
constructor TWinControl1.create(AOwner: TComponent);
begin
inherited create(AOwner);
Controlstyle := Controlstyle - [csAcceptsControls];
// Der Componente wird nicht erlaubt
// andere Componenten aufzunehmen,
// als die, die durch den Programmierer
// hier einprogrammiert werden.
Visible := true;
width := 300;
height := 200;
// TestLabel initialisieren
FLblContainerCaption := CreatestaticLabel;
FTrckBarTischposition := CreateTrackBar;
FLblTrackBar := CreatedynamicLabel;
FEdPositionsEingabe := CreateEdit;
FButtonEditEingabe := CreateButton;
FCombBoxTischauswahl := CreateComboBox;
end;
function TWinControl1.CreatestaticLabel: TLabel;
begin
result := TLabel.Create(Self);
result.Parent := Self;
result.Left := 18;
result.Top := 10;
end;
function TWinControl1.CreatedynamicLabel: TLabel;
begin
result := TLabel.Create(Self);
result.Parent := Self;
result.Left := 10 + round((320000/700000)*200);;
result.Top := 85;
result.Caption := '
0,00 mm';
end;
function TWinControl1.CreateTrackBar: TTrackBar;
begin
result := TTrackbar.Create(Self);
result.Parent := Self;
result.Left := 10;
result.Top := 100;
result.Height := 20;
result.Width := 200;
result.Max := 640000;
result.Position := 320000;
result.OnChange := TrackBarBewegung;
end;
function TWinControl1.CreateEdit: TEdit;
begin
result := TEdit.Create(Self);
result.Parent := Self;
result.Left := 17;
result.Top := 150;
result.Height := 20;
result.Width := 100;
result.Text := '
Wert eingeben';
result.OnEnter := Edit_leeren;
end;
function TWinControl1.CreateButton;
begin
result := TButton.Create(Self);
result.Parent := Self;
result.Left := 130;
result.Top := 145;
result.Caption := '
Position ansteuern';
result.Height := 30;
result.Width := 120;
result.OnClick := Position_ansteuern;
end;
function TWinControl1.CreateComboBox: TComboBox;
begin
result := TComboBox.Create(Self);
result.Left := 17;
result.Top := 30;
result.Height := 20;
result.Width := 200;
end;
procedure TWinControl1.Trackbarbewegung(Sender: TObject);
begin
fLblTrackBar.Left := 10 + round((FTrckBarTischposition.Position/700000)*200);
fLblTrackBar.Caption := floattostr((FTrckBarTischposition.Position/6400)- 50) + '
mm';
fdTischposition := FTrckBarTischposition.Position/6400;
end;
procedure TWinControl1.Edit_leeren(Sender: TObject);
begin
fEdPositionsEingabe.Clear;
end;
// Procedure fehlerhaft, wenn Edit leer ist
procedure TWinControl1.Position_ansteuern(Sender: TObject);
begin
try
fdTischposition := strtofloat(FEdPositionsEingabe.Text)+50;
FTrckBarTischposition.Position := round(fdTischposition*6400)
except
end;
end;
procedure TWinControl1.SetContainerCaption(Value:
string);
begin
FLblContainerCaption.Caption := Value;
end;
procedure TWinControl1.SetTischPosition(Value: Double);
begin
fdTischposition := Value;
FTrckBarTischposition.Position := round(fdTischposition*6400);
end;
function TWinControl1.GetTischPosition: double;
begin
result := fdTischposition;
end;
procedure TWinControl1.CreateWnd;
begin
inherited createWnd;
FCombBoxTischauswahl.Parent := self;
FCombBoxTischauswahl.Clear;
FCombBoxTischauswahl.Items.Add('
Verschiebetisch Referenzfaser');
FCombBoxTischauswahl.Items.Add('
Verschiebetisch Kamera/ Spleißgerät');
FCombBoxTischauswahl.Items.Add('
Piezoverschiebetisch');
FCombBoxTischauswahl.ItemIndex := 0;
end;
end.