ja, das mit der published Property ist schon klar, dann kann ich im Objektinspektor darauf zugreifen und Eigenschaften ändern bzw. später im Programm darauf zugreifen, das ist es aber nicht was ich will.
Wenn ich meine Komponente (ich nenne sie TextBoxErw) später in irgendeinem Form definiere, dann möchte ich wie folgt darauf zugreifen können
eingegebenerText := TextBoxErw.Text
mit dem published Property müsste ich wie folgt arbeiten
eingegebenerText := TextBoxErw.TextBox.Text
Das bedeutet, diese Komponente soll alle Eigenschaften und Ereignisse einer Textbox haben, sich auch (fast) genauso verhalten, lediglich erweitert um die Möglichkeit diese drei Buttons zu beinhalten.
Zitat:
Mach Propertys draus und per Getter und Setter legst du die dan auf die Textbox fest.
Ja, wahrscheinlich wird mir nix anderes übrigbleiben
Ich hatte zuerst einen anderen Lösungsweg beschritten, und zwar eine Komponente zu erzeugen, die von der standard-Textbox abgeleitet ist. Mit
TextBoxErw = class(System.Windows.Forms.TextBox)
würde genau das funzen was ich will, alle Ereignisse und Properties werden geerbt. Ich könnte auch zur Laufzeit die Buttons erzeugen und hinten rechts in der Textbox plazieren. Dann habe ich nur das Problem, dass der Eingabebereich der Textbox rechts
unter den Buttons liegen würde. Gibt es vielleicht eine Möglichkeit den Eingabebereich einer Textbox zu beschränken? Wenn also die Textbox eine Breite von 180 hat, den Eingebereich auf 140 zu begrenzen?