Ich Programmiere seit knapp einem halbem Jahr und steck noch in der Übungsphase. Meine Heutige Übung war es eine Komponete abzuleiten und neue Funktionen ihr hinzuzufügen.
In dem Fall war es einmal einen Link zu öffnen beim an Klicken und wenn sich die Maus über das Objekt(in dem Fall ein Label) bewegt in eine Beliebige Farbe überzugehen.
Ich habe es soweit gebracht wie mein Wissen reichte und wollte nun die Komponente testen. Doch als ich die Komponente in ein
Package legte und es Installierte wird mir meine Komponente nicht angezeigt. Ich hab es wieder und wieder mit installieren und rum probieren versucht doch habe keine Lösung für mein Problem gefunden.
Ich habe mich im Forum schon nach ähnlichen Fällen gesucht, allerdings war das nicht zufrieden stellend warum ich mich jetzt selbst an diese Community Wende.
Delphi-Quellcode:
unit FarbLabel;
interface
uses
Vcl.Dialogs,
Vcl.Graphics,
Winapi.Windows,
Winapi.ShellApi, System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Controls.Presentation, FMX.StdCtrls;
type
TFarbL =
class(TLabel)
private
FFarbe: TColor;
FLink:
string;
{ Private-Deklarationen }
protected
procedure Click;
override;
procedure DoMouseEnter;
override;
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
published
property Farbe: TColor
read FFarbe
write FFarbe;
property Link:
string read FLink
write FLink;
property OnClick;
property OnMouseEnter;
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Samples', [TFarbL]);
end;
procedure TFarbL.Click;
var Buffer,LinkW: PWideChar;
begin
ShowMessage('
before');
inherited;
Buffer:= '
';
LinkW:=StringToWideChar(Link,Buffer,250);
ShellExecute(0, '
open', LinkW,
nil,
nil, SW_SHOWNORMAL);
end;
procedure TFarbL.DoMouseEnter;
begin
ShowMessage('
before');
inherited;
Self.FontColor:= Farbe;
end;
end.
Bitte last euch nicht so sehr über meinen Code aus und schon mal danke im voraus für eure Hilfe.
P.S.Ich weiß das LinkLabel dem sehr ähnlich ist allerdings ist dies auch nur als Übung zum Thema Komponenten gedacht.