Ich verfüge über ein benutzerdefiniertes FireMonkey-Steuerelement (TComboBox), das auch über einen benutzerdefinierten TComponentEditor verfügt. Wenn ich die ExecuteVerb Methode außer Kraft setzen und versuchen, eine untergeordnete Komponente (custom TListBoxControl) die benutzerdefinierte hinzufügen TComboBox es nicht zur EntwurfszeitBenutzerdefinierte Firemonkey-Komponente, die TComponentEditor implementiert. Hinzufügen eines untergeordneten Steuerelements zum übergeordneten Element zur Entwurfszeit
Standard TComboBox Verhalten gezeigt bekommt:
Individuelle TComboBox
Mein ExecuteVerb Code:
var
PpComboItem : TPpListBoxItem;
PpCombo: TPpComboBox;
begin
if (Component is TPpComboBox) then
PpCombo := (Component as TPpComboBox) else
exit;
PpComboItem := TPpListBoxItem.Create(PpCombo);
PpComboItem.Parent := PpCombo;
end
Ich habe versucht, den Weg zu verfolgen, die TComboBox versucht, dies zu tun, aber kann nicht scheinen, das Gerät mit der korrekten Implementierung zu finden
** ** Bearbeiten
Ok - ich habe es geschafft, einen Blick zu haben, wie die Jungs von TMS erreicht dies mit ihren Komponenten (gekauft und bezahlt), und ich habe es geschafft, die folgende
var
PpComboItem : TPpListBoxItem;
PpCombo: TPpComboBox;
begin
inherited;
if (Component is TPpComboBox) then
PpCombo := (Component as TPpComboBox) else
exit;
PpComboItem := (TPpListBoxItem(Designer.CreateComponent(TPpListBoxItem, PpCombo, 10, 10, 100, 100)));
PpComboItem.Parent := PpCombo;
Designer.Modified;
end;
Aber extrapolieren, wenn ich die AddTPpListBoxItem im ComponentEditor klicken erhalte ich die followin g Fehler:
Class TPpListBoxItem is not applicable to this module
Ich weiß nicht, ob es einfacher sein könnte, den Artikeleditor der TCustomListbox zu erweitern, um ein neues TListBoxItem im Dropdown mit allen anderen TListBoxItem-Typen zu haben? –