AGB  ·  Datenschutz  ·  Impressum  







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

[Eigene] Caption

Ein Thema von cherry · begonnen am 13. Jun 2006 · letzter Beitrag vom 13. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#1

[Eigene] Caption

  Alt 13. Jun 2006, 07:58
Hi..

Abgeleitet von TCustomControl...
Ich bin schon fast fertig mit meiner Komponente, jetzt habe ich nur noch ein kleines Problem:

Ich will für die verschiedenen zustände des Buttons je verschiedene Captions, das heisst drei insgesamt.
die erste könnte ich einfach so deklarieren:

property Caption; Dann würde alles so funktionieren wie es sollte, --> Wenn ich die Komponente auf ein Formular ziehe
ist der Standardwert der Caption automatisch = der Name. z.B. EButton1, EButton2 ...

KONKRET:
Wenn ich die Caption propertyS nun selber Programiere, funktionieren diese zwar einwandfrei, jedoch
weiss ich nicht wie den Namen zu übergeben.
Denn wenn ich einen standard Wert im Constructor mitgeben will, sind Variablen "Name" oder "Caption" noch
nicht vorhanden. Wenn ich die LoadProcedure überschreibe, habe ich das Problem, dass die Captions zwar zur Laufzeit erscheinen, jedoch nicht im Objektinspektor zur Entwicklungszeit.

Jmd eine Idee?
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:01
Mehrere Eigenschaften anlegen und für diese dann mehrere Properties.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#3

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:02
Danke das weiss ich auch, lies doch mal die ganze Frage...
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:06
Wie sieht den dein Konstruktor aus?

Delphi-Quellcode:
constructor myControl.Create( Aowner: TComponent; myCaption: string);
begin
    inherited Create( AOwner);
    Caption := myCaption;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:33
Meine Propertys sehen so aus:

Delphi-Quellcode:
property ECatption: String read FECaption write SetECaption;
property ECatptionOver: String read FECaptionOver write SetECaptionOver;
property ECatptionDown: String read FECaptionDown write SetECaptionDown;
Ich verwende also nicht die schon vorhandene Property Caption, sondern
will diese selber machen, weil ich gleich drei brauche und mir aber std mässig
nur eine zur verfügung steht.

Zitat von mkinzler:
Wie sieht den dein Konstruktor aus?
Der sieht momentan so aus, funzt aber nicht!
Caption ist während Constructor-zeit irgendwie noch nicht verfügbar, es wird kein
Wert übergeben.

Und ich will das standardmässig der Name also z.B. Button1, Button2...
für alle Captions gesetzt wird.

Delphi-Quellcode:
constructor TEButton.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);

 DoubleBuffered := True;
 FEFont := TFont.Create;
 FEFontOver := TFont.Create;
 FEFontDown := TFont.Create;
 FEColor:=clWhite;
 FEColorOver:=clSilver;
 FEColorDown:=clGray;
 FEBrushStyle:=bsSolid;
 FEBrushStyleOver:=bsSolid;
 FEBrushStyleDown:=bsSolid;
 FEPenColor:=clSilver;
 FEPenColorOver:=clGray;
 FEPenColorDown:=clSilver;

[color=#005fff]
 ECaption:=Caption;
 ECaptionOver:=Caption;
 ECaptionDown:=Caption;
[/color]
 
 Width:=75;
 Height:=25;
 FMouseOver:=false;
 FMouseDown:=false;
 FEOnFocusedShow:=true;
 FEOnFocusedColor:=clAqua;
 FEOnDefaultShow:=true;
 FEOnDefaultColor:=clBlack;
 FEnemyRoundedW:=5;
 FEnemyRoundedH:=5;
 TabStop:=True;
 FActive:=FDefault;
end;
Ne Idee den Namen zu übergeben, sodass er nach dem rüberziehen der Komponente
auf meine Form bereits im OI steht?
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:39
Jetzt versteh ich dein Problem. Schau dir doch mal die GExperts an, da wird ein Renaming des Komponentennames&/-caption zur Designzeit durchgeführt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:46
GExperts sind doch so ne Opensource Toolsammlung oder?
Mach ich dann meine Unit nicht von andern (nicht standardmässigen) abhängig?
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#8

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:46
Hi,

bin mir nicht sicher, aber hast Du schon

 ECaption := AOwner.Name; ausprobiert?
Uwe
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:47
Hallo,

Wenn sich die Caption eines Controls ändert, dann sendet das Control eine Message CM_TEXTCHANGED an sich selbst.
Also einfach die Methode
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED; neu implementieren und dort auf die Änderung reagieren.

Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: [Eigene] Caption

  Alt 13. Jun 2006, 08:51
Hi!

Könnte zwar jetzt ein Schreibfehlern sein, aber ich werfe es doch mal in den Raum:

Delphi-Quellcode:
//Meine Propertys sehen so aus:

property ECatption: String read FECaption write SetECaption;
property ECatptionOver: String read FECaptionOver write SetECaptionOver;
property ECatptionDown: String read FECaptionDown write SetECaptionDown;
Delphi-Quellcode:
ECaption:=Caption;
ECaptionOver:=Caption;
ECaptionDown:=Caption;
Was ich meine, ist das t bei ECaTption....


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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