Eigene Objekte dem Designer hinzufügen

Analog zur Erweiterung der Designer-Funktionen können Sie auch eigene Objektarten definieren und an List & Label anmelden. Die neuen Objekte stehen dem Benutzer anschließend in gewohnter Weise über die Symbolleiste links und das Menü zur Verfügung.

Zum Hinzufügen steht Ihnen auch hier eine spezielle Komponente (TLl29XObject) zur Verfügung.

Nach dem Hinzufügen dieser Komponente zu Ihrem Formular können Sie die Eigenschaften des neuen Objekts im Eigenschaftsfenster der Komponente festlegen. Die Tabelle zeigt eine Übersicht.

Eigenschaft

Beschreibung

Name

Der eindeutige Name des Objekts

Description

Diese Beschreibung wird im Designer angezeigt. Sie darf Leerzeichen enthalten, sollte jedoch nicht länger als 30 Zeichen lang sein.

Icon

Das Icon des Objekts, das im Designer in der Symbolleiste und im Menü angezeigt wird. Es sollte sich um ein 16x16 Pixel großes Icon handeln.

 

Die Komponente bietet Ihnen drei Ereignisse an. Zunächst wird bei der Anlage eines neuen Objekts durch den Benutzer das Ereignis OnInitialCreation ausgelöst. Falls gewünscht können Sie dem Benutzer hier einen Einstiegsdialog anzeigen. Dies kann beispielsweise ein Assistent sein, der dem Benutzer die Konfiguration des neuen Objekts vereinfacht. Bietet sich die Verwendung im konkreten Fall nicht an, verzichten Sie einfach auf die Behandlung des Ereignisses.

Die folgenden Zeilen initialisieren das Objekt sobald das neue Objekt erstmals auf dem Arbeitsbereich platziert wird.

Delphi:

procedure TDesExtForm.GradientFillObjectInitialCreation(Sender: TObject;
       ParentHandle: Cardinal);
begin
       with Sender as TLl29XObject do
       begin
                Properties.AddProperty('Color1', '255');
                Properties.AddProperty('Color2', '65280');
       end;
end;

Das Ereignis OnEdit wird ausgelöst, wenn der Benutzer doppelt auf das neu eingefügte Objekt klickt oder aber den Eintrag "Eigenschaften" aus dem Kontextmenü wählt.

Nachdem der Benutzer das Objekt editiert hat, werden Sie von List & Label aufgefordert, das Objekt darzustellen. Es wird hierzu das Ereignis OnDraw ausgelöst. Über die Ereignisargumente erhalten Sie einen TCanvas sowie ein TRect des Objekts. Sie können nun mit den bekannten Methoden im Arbeitsbereich zeichnen. Hierbei ist selbstverständlich auch der Zugriff auf die hinterlegten Objekteigenschaften möglich beziehungsweise sinnvoll.