Autor Beitrag
Anfänger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Di 10.02.04 19:00 
(Ich hoffe mal, ich habe die richtige Sparte erwischt)

Ich habe das Buch delphi für Kids und beschäftige mich gerade mit der Erstellung eigener Komponente.
Wer es vieleicht kennt: ich habe gerade den OButton erstellt.
Die, die's nicht kennen: ich habe einen Button erstellt, abgeleitet von der TCustomControl und möchte nun neue Eigenschaften erstellen.
Ersteinmal dachte ich da an eine Picture Eigenschaft, die Bilder, wie der SpeedButton als Komponentenfläche anzeigt.

Ich weiß, ich muss unter Published meine Procedur anmelden, aber da geht es schon los. Ich kriegs nicht hin.

Ich denke, wenn mir das jemand eine solche Zeile zeigen könnte, müsste ich das hinkriegen.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Di 10.02.04 19:59 
nicht die Procedure sondern die Eigenschaft !!

so mal kurz aus'm Gehirn würd ich schreiben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
type
  TMyButton=Class(..)
  private
    fBitmap: TBitmap;
    procedure setBitmap(B:TBitmap);
    function GetBitmap:TBitmap;  
public
    procedure Inhalt: TBitmap read getbitmap write setBitmap;
end;


grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Di 10.02.04 20:51 
Scheihnbar geht das doch nicht sooo einfach, wie ich dachte.

Wie kriege ich getBitmap hin (ich bin davon ausgegangen,dass das automatisch geht :oops: )

Ein paar "Anfänger"-Fragen hätte ich noch:

Erste Frage: wieso 2 Variabel?(fBitmap,B)? Reicht nicht fBitmap?

zweite: in diesem falle dürfte doch setbitmap überflüssig sein, da die
Änderung doch in Paint muss? oder?
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Di 10.02.04 21:13 
Hallo

Ich würde dir empfeheln, erstmal mit einer Eigenaschaft anzufangen, die kein Object ist. Probier erstmal eine String oder bool-Eigenschaft.
ein gutes tut findest du hier:
www.tutorials.delphi.../tswitch/index.shtml
Ich denke dort werden viele deiner Fragen geklärt.

Wenn du eine Bitmap als Eigenschaft wählst, sind wesentlich mehr Schritte notwendig:
- überschreiben des Constructors, wo du deine Bitmap erzeugst.
- überschreiben des Destructors, wo du deine Bitmap wieder freigibst.
- bei der Set-methode würde ich auf alle Fälle assign.-anwenden
ausblenden Delphi-Quelltext
1:
2:
3:
4:
TMyButton.setBitmap(B:TBitmap); 
  begin
     Fbitmap.assign(b);
  end;

würdest du hier nur fbitmap:=b; schreiben, brauchst du dich evtl über spätere Exceptions nicht zu wundern. www.grundlagen.delph....de/pascal/oo2.shtml ist das recht anschaulich erklärt.

noch etwas: du hast eine Pro-version. Dort liegen die Quelltext bei. es kann sehr hilfreich sein, die sich mal anzuguggn. z.b. eine imagekomponente mit der Picture-eigenschaft. schau dir dort speziell den Construtor,destructor, setpicture an.
zieh eine imagekomponente auf die Form und drück bei gedrückter Strg-Taste auf Timage im Quelltext deiner Form. (weiß aber nicht, ob das auch schon bei D3 funktioniert, wenn nicht, such die extctrls.pas im Source-ordner und öffne sie per hand.)

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Di 10.02.04 22:03 
Danke führ den Hinweis auf die Pas-Datei :!:
Sowas habe ich schon lange gesucht, hatte es aber aufgegeben.
Zwar ging die Tastenkombination nicht aber die Datei habe ich gefunden und nur das ist schließlich wichtig.

Den tut und den anderen Link werde ich mir auch mal ansehen.

Danke :D
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Mi 11.02.04 13:53 
Du kannst dir auch mal meine OOP-Ausarbeitung zu Gemüte führen: www.x-spy.net/personal bzw wenn die Domain bei dir nicht funktioniert probier mal die Subdomain motzi.fs-tools.de/personal

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 11.02.04 14:34